skills/writing/latex/overleaf-collaboration-guide/SKILL.md
Guide to collaborative LaTeX editing with Overleaf
npx skillsauth add wentorai/research-plugins overleaf-collaboration-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up and manage collaborative LaTeX projects on Overleaf with best practices for multi-author workflows, version control, and project organization.
Overleaf (overleaf.com) is a browser-based LaTeX editor that provides real-time collaboration, automatic compilation, and integrated version history.
Project creation options:
| Method | When to Use | |--------|-------------| | Blank project | Starting from scratch | | Upload project | Migrating existing local LaTeX project | | Import from GitHub | Existing repo-based project | | Use a template | Conference/journal submissions (IEEE, ACM, Springer, Elsevier templates available) | | Copy from existing | Forking a previous project |
project-root/
├── main.tex # Main document (entry point)
├── preamble.tex # Packages, macros, custom commands
├── sections/
│ ├── 01-introduction.tex
│ ├── 02-related-work.tex
│ ├── 03-methods.tex
│ ├── 04-results.tex
│ ├── 05-discussion.tex
│ └── 06-conclusion.tex
├── figures/
│ ├── fig1-overview.pdf
│ ├── fig2-results.pdf
│ └── fig3-comparison.pdf
├── tables/
│ └── results-table.tex
├── references.bib # Bibliography database
└── README.md # Project notes (not compiled)
% main.tex
\documentclass[conference]{IEEEtran} % or article, etc.
\input{preamble} % load packages and macros
\begin{document}
\title{Your Paper Title}
\author{Author One \and Author Two \and Author Three}
\maketitle
\begin{abstract}
Your abstract here.
\end{abstract}
\input{sections/01-introduction}
\input{sections/02-related-work}
\input{sections/03-methods}
\input{sections/04-results}
\input{sections/05-discussion}
\input{sections/06-conclusion}
\bibliographystyle{IEEEtran}
\bibliography{references}
\end{document}
| Role | Capabilities | |------|-------------| | Owner | Full control, can delete project, manage collaborators | | Editor | Can edit all files, cannot manage collaborators | | Viewer | Read-only access, can download but not modify |
Share via:
.tex files to minimize merge conflicts.% TODO: revise this paragraph) and threaded review comments.% In preamble.tex, define author-specific annotation commands
\usepackage{xcolor}
\newcommand{\alice}[1]{\textcolor{blue}{[Alice: #1]}}
\newcommand{\bob}[1]{\textcolor{red}{[Bob: #1]}}
\newcommand{\todo}[1]{\textcolor{orange}{[TODO: #1]}}
% In text:
This result is surprising \alice{Should we add more analysis here?}
and warrants further investigation \todo{Add statistical test}.
changes package:\usepackage{changes}
\definechangesauthor[name={Alice}, color=blue]{AL}
\definechangesauthor[name={Bob}, color=red]{BO}
% Usage:
\added[id=AL]{This is new text added by Alice.}
\deleted[id=BO]{This text was removed by Bob.}
\replaced[id=AL]{new text}{old text}
Overleaf Premium supports bidirectional GitHub sync:
# Clone your Overleaf project via git
git clone https://git.overleaf.com/YOUR_PROJECT_ID my-paper
cd my-paper
# Edit locally, then push back to Overleaf
git add -A
git commit -m "Updated results table"
git push origin master
# Pull changes made on Overleaf
git pull origin master
Credentials: Use your Overleaf email as username and an Overleaf-generated token as password.
| Error | Cause | Fix |
|-------|-------|-----|
| Undefined control sequence | Missing package or typo in command | Check \usepackage or spelling |
| Missing $ inserted | Math symbol outside math mode | Wrap in $...$ or \text{...} |
| File not found | Incorrect path in \input or \includegraphics | Check file names (case-sensitive on Overleaf) |
| Overfull \hbox | Content too wide for column | Resize figure, adjust text, or add \sloppy |
| Citation undefined | BibTeX entry missing or key mismatch | Verify .bib entry key matches \cite{} |
\listfiles in preamble to see which packages are loaded.tex file.# Use latexpand to flatten \input commands
latexpand main.tex > submission.tex
% Add to preamble for submission: disable all annotation commands
\renewcommand{\alice}[1]{}
\renewcommand{\bob}[1]{}
\renewcommand{\todo}[1]{}
| Action | Shortcut (Mac) | Shortcut (Windows) | |--------|---------------|-------------------| | Compile | Cmd+Enter | Ctrl+Enter | | Bold | Cmd+B | Ctrl+B | | Italic | Cmd+I | Ctrl+I | | Comment toggle | Cmd+/ | Ctrl+/ | | Find & replace | Cmd+H | Ctrl+H | | Go to line | Cmd+Shift+L | Ctrl+Shift+L | | Toggle PDF | Cmd+Shift+O | Ctrl+Shift+O |
documentation
Write Tsinghua University theses using the ThuThesis LaTeX template
development
Templates, formatting rules, and strategies for thesis and dissertation writing
documentation
Set up LaTeX templates for PhD and Master's thesis documents
documentation
Write SJTU theses using the SJTUThesis LaTeX template with full compliance