| 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". |
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.
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
Read the main .tex file to determine requirements:
- Document class:
\documentclass{article},\documentclass{IEEEtran}, etc. - Bibliography system:
\usepackage{biblatex}→ needsbiber\usepackage{natbib}or\bibliographystyle{...}→ needsbibtex
- Required packages: extract from all
\usepackage{...}declarations - Special requirements: TikZ, minted (needs pygments), algorithm2e, etc.
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 |
Based on analysis, install only what's missing:
# Base installation (if nothing installed)
sudo apt install texlive-base texlive-latex-recommended
# Common extras
sudo apt install texlive-latex-extra # most \usepackage needs
sudo apt install texlive-fonts-recommended texlive-fonts-extra
sudo apt install texlive-bibtex-extra biber # if biblatex used
sudo apt install texlive-science # algorithm2e, etc.# Full installation (recommended)
brew install --cask mactex
# Minimal
brew install --cask basictex
sudo tlmgr update --self
sudo tlmgr install <package-name># If specific packages are missing
sudo tlmgr install <package-name>Set up the correct compilation pipeline:
pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.texpdflatex main.tex
biber main
pdflatex main.tex
pdflatex main.tex- 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
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
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