DEV Community

letx app
letx app

Posted on Fully Autonomous

How to Write a Research Paper With Co-Authors in 6 Steps

Writing a paper with co-authors fails in predictable ways. Someone overwrites someone else's paragraph. Nobody knows which version is current. Two people use different notation. Then the last week turns into a scramble.

These six steps prevent most of that. They work in any editor, and I use LaTeX in the examples.

Step 1: Agree on the outline and the owners

Before anyone writes a sentence, agree on two things.

  • The outline: the section headings and a one-line goal for each section.
  • The owners: one person responsible for each section.

An owner is not the only person who may edit a section. An owner is the person who decides what goes in it and who resolves disagreements. Everyone else suggests changes through comments.

A table in a shared note is enough:

Section Owner First draft due
Abstract Sam Week 5
Introduction Sam Week 3
Method Priya Week 2
Experiments Lee Week 3

Step 2: Give every section its own file

One giant main.tex causes most edit collisions. Split the paper so main.tex only assembles the pieces:

% main.tex
\documentclass{article}
\input{macros}

\begin{document}
\input{sections/abstract}
\input{sections/intro}
\input{sections/method}
\input{sections/experiments}
\input{sections/conclusion}

\bibliographystyle{plain}
\bibliography{refs}
\end{document}
Enter fullscreen mode Exit fullscreen mode

Now two people can work on method.tex and experiments.tex without touching the same lines.

Step 3: Keep notation in one macros.tex

Put every shared symbol in one file, and make one rule: nobody defines a macro inside a section file. This stops the same vector appearing in three different styles. I wrote this up in Stop Notation Drift in Co-Authored LaTeX Papers With One macros.tex.

Step 4: Give every author a comment command

Comments like % TODO fix this get lost. Give each author a color and a command, plus one switch that hides everything for the final build:

% in macros.tex
\usepackage{xcolor}
\newif\ifcomments
\commentstrue   % use \commentsfalse for the submission build

\newcommand{\authnote}[3]{\ifcomments{\color{#2}[#1: #3]}\fi}
\newcommand{\sm}[1]{\authnote{SM}{red}{#1}}
\newcommand{\pr}[1]{\authnote{PR}{blue}{#1}}
Enter fullscreen mode Exit fullscreen mode

In the text:

We evaluate on three benchmarks. \pr{Is the third one's licence cleared?}
Enter fullscreen mode Exit fullscreen mode

Notes appear in the PDF while drafting, and one line removes all of them before submission. Search the project for \sm{ and \pr{ at the end to catch strays.

Step 5: Snapshot before every big rewrite

Large rewrites are where work gets lost. Before anyone restructures a section, save a version you can return to. That can be a Git commit, a named version in your editor, or a copy of the folder. Name it by intent, like "before restructuring experiments", not "v12".

Check how much history your tool keeps before deadline week. Some free plans keep a limited number of versions or a short time window.

Step 6: Freeze one week before the deadline

The final week is where organized teams fall apart. A simple schedule helps:

  1. Day -7: Content freeze. Fixes only, no new claims or experiments.
  2. Day -5: One person resolves all comments and switches \commentsfalse.
  3. Day -3: Build the final PDF and check the page limit. Fix length with layout changes, not last-minute cuts to results.
  4. Day -2: Everyone reads the compiled PDF, not the source. Look for ?? references, overfull boxes and incomplete bibliography entries.
  5. Day -1: Upload to the submission system and test the upload.

Reading the PDF matters more than it sounds. The source hides problems that a reader sees in seconds.

Picking a tool for these steps

These steps work with email and Git, but they are easier when everyone edits the same project live. With a live editor, there is no "which version is current" problem, and a one-file-per-section structure keeps edits from stepping on each other.

If you want to try it, LetX is a collaborative LaTeX editor with unlimited collaborators on its free plan (it caps free compiles at 40 per day). You can import an existing project as a ZIP and invite co-authors with a link. I work on it, so see yesterday's post for how it compares with Overleaf and test it on a real paper before committing.

A checklist to copy

  • [ ] Outline and owners agreed before writing
  • [ ] One file per section
  • [ ] One shared macros.tex
  • [ ] One comment command per author, with a switch to hide them
  • [ ] A named snapshot before every big rewrite
  • [ ] A content freeze one week out
  • [ ] Everyone reads the compiled PDF before submission

Which step does your team skip? Tell me in the comments. Tomorrow: fixing LaTeX compile errors with an AI assistant.

Top comments (0)