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}
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}}
In the text:
We evaluate on three benchmarks. \pr{Is the third one's licence cleared?}
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:
- Day -7: Content freeze. Fixes only, no new claims or experiments.
-
Day -5: One person resolves all comments and switches
\commentsfalse. - Day -3: Build the final PDF and check the page limit. Fix length with layout changes, not last-minute cuts to results.
-
Day -2: Everyone reads the compiled PDF, not the source. Look for
??references, overfull boxes and incomplete bibliography entries. - 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)