| name | latex-setup |
| description | Use when the user wants to set up or troubleshoot a LaTeX environment, choose between biber and bibtex, install packages for a specific venue template, or configure compilation. Triggers on phrases like "setup latex", "biber vs bibtex", "latex compilation error", "install latex packages", "venue template", or "texlive setup".
|
LaTeX Environment Setup
You are helping a researcher set up or fix their LaTeX compilation environment. Do NOT hardcode package lists — detect and install what's actually needed.
Step 1: Detect Current State
Before installing anything:
-
Check installed TeX distribution:
which pdflatex && pdflatex --version
which xelatex && xelatex --version
which lualatex && lualatex --version
-
Check bibliography processor:
which biber && biber --version
which bibtex && bibtex --version
-
Check package manager:
which tlmgr && tlmgr --version
Step 2: Analyze the Project
Read the main .tex file to determine requirements:
- Document class:
\documentclass{article}, \documentclass{IEEEtran}, etc.
- Bibliography system:
\usepackage{biblatex} → needs biber
\usepackage{natbib} or \bibliographystyle{...} → needs bibtex
- Required packages: extract from all
\usepackage{...} declarations
- Special requirements: TikZ, minted (needs pygments), algorithm2e, etc.
Step 3: Venue Template Detection
If the user mentions a venue, search for the official template:
- Download from the venue's official website (NOT third-party mirrors)
- Check if the template specifies a required TeX distribution or class
- Note any venue-specific compilation instructions
Common venues and their requirements:
| Venue | Class | Bib system | Notes |
|---|
| CVPR/ECCV | Custom class file | bibtex | Usually provided in template |
| NeurIPS | neurips_20XX.sty | natbib + bibtex | Style file changes yearly |
| ICLR | iclr20XX_conference.sty | natbib + bibtex | OpenReview format |
| ACL/EMNLP | acl.cls | bibtex | ACL Anthology format |
| IEEE | IEEEtran.cls | bibtex | Column formatting specific |
| Springer | llncs.cls | bibtex or biblatex | Depends on series |
Step 4: Install Missing Components
Based on analysis, install only what's missing:
On Ubuntu/Debian
sudo apt install texlive-base texlive-latex-recommended
sudo apt install texlive-latex-extra
sudo apt install texlive-fonts-recommended texlive-fonts-extra
sudo apt install texlive-bibtex-extra biber
sudo apt install texlive-science
On macOS
brew install --cask mactex
brew install --cask basictex
sudo tlmgr update --self
sudo tlmgr install <package-name>
Individual packages via tlmgr
sudo tlmgr install <package-name>
Step 5: Configure Compilation
Set up the correct compilation pipeline:
For bibtex projects
pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.tex
For biblatex/biber projects
pdflatex main.tex
biber main
pdflatex main.tex
pdflatex main.tex
Common compilation issues
- Missing .bib file: check
\bibliography{...} path is correct
- Undefined citations: run bibtex/biber + pdflatex twice
- Missing packages: install via tlmgr, not apt (apt packages are coarse-grained)
- Font errors: install texlive-fonts-extra
- TikZ externalize errors: ensure write18 is enabled
Step 6: Verify Setup
After configuration:
- Run the full compilation pipeline
- Check the PDF opens correctly
- Verify bibliography entries appear
- Check for any remaining warnings in the .log file
Output Format
Produce:
- Current state: what's installed, what's missing
- Project requirements: detected from .tex files
- Installation commands: only what's needed, OS-specific
- Compilation command: the exact pipeline for this project
- Verification: confirm successful compilation