
Latex Formatting
Format ML and NLP conference papers with the correct venue `.sty` files, section layout, and essential LaTeX packages without guessing page limits.
Overview
LaTeX Formatting is an agent skill most often used in Build (also Ship launch prep, Validate scope) that supplies venue-specific LaTeX templates, folder structure, and package defaults for ML conference papers.
Install
npx skills add https://github.com/lingzhi227/agent-research-skills --skill latex-formattingWhat is this skill?
- Venue matrix for 8 targets: NeurIPS, ICML, ICLR, AAAI, ACL/EMNLP, CVPR/ICCV, ICBINB, and arXiv with page/column/anonymit
- Standard `paper/` directory layout with `sections/` splits and optional `appendix/`
- Essential package bundle: amsmath, graphicx, booktabs, hyperref, algorithms, subcaption, cleveref, microtype
- Conference-specific styles (e.g. neurips_2025.sty, icml2025 two-column) called out per venue
- Anonymous-submission and extra-reference-page constraints summarized per conference
- 8 conference/arXiv venues documented in the specification table
- 11 essential LaTeX packages in the recommended preamble block
- 8 modular section files in the standard project structure example
Adoption & trust: 817 installs on skills.sh; 114 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are writing a conference paper but lack a correct venue style file, page rules, and a repeatable repo layout, so compilation and submission requirements keep shifting mid-draft.
Who is it for?
Solo researchers or indie builders shipping one-off NeurIPS/ICML/ICLR-style PDFs with Claude Code or Cursor agents that need explicit LaTeX constraints.
Skip if: Teams that already maintain an internal LaTeX class repo, non-academic marketing sites, or workflows that only need Markdown/HTML exports with no PDF venue rules.
When should I use this skill?
Agent is formatting or restructuring an ML/NLP conference paper and needs venue `.sty` rules, directory layout, or default packages.
What do I get? / Deliverables
After the skill runs you have a venue-matched style choice, a standard `paper/` tree, and a copy-paste essential-packages preamble ready for section-level drafting or refactor.
- Venue-selected `main.tex` skeleton with style import
- Modular `sections/` and `references.bib` layout
- Essential-packages preamble snippet for compile-ready drafts
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build → docs because the skill delivers the paper tree, venue matrix, and package baseline—the core artifact while drafting—not ideation or post-launch distribution. Documentation subphase fits structured technical writing deliverables (main.tex, sections/, bibliography) rather than application backend or agent runtime code.
Where it fits
Compare NeurIPS 9-page vs AAAI 7+1 limits before committing to a target venue and outline depth.
Split introduction, methods, and experiments into `sections/*.tex` with the essential package block in `main.tex`.
Verify anonymous mode and reference-page extras against the venue matrix right before camera-ready or arXiv upload prep.
How it compares
Reference/template skill for venue LaTeX—not a citation manager, figure generator, or arXiv upload automation.
Common Questions / FAQ
Who is latex-formatting for?
Indie builders and researchers using AI coding agents to draft or restructure academic ML papers who need correct conference `.sty` files and folder conventions in one place.
When should I use latex-formatting?
Use it during Build when modularizing `main.tex`, before Ship when checking anonymous review and page caps, or during Validate when scoping which venue you are targeting—any time venue rules must drive repo structure.
Is latex-formatting safe to install?
It is documentation-style reference material with no shell or network requirements in the skill body; review the Security Audits panel on this Prism page before adding the skill to your agent.
SKILL.md
READMESKILL.md - Latex Formatting
# Conference Venue Templates Reference ## Venue Specifications | Venue | Pages | Columns | Style | Anonymous | Refs Extra | |-------|-------|---------|-------|-----------|------------| | NeurIPS | 9 | 1 | neurips_2025.sty | Yes | Yes | | ICML | 8 | 2 | icml2025.sty | Yes | Yes | | ICLR | 9 | 1 | iclr2025_conference.sty | Yes | Yes | | AAAI | 7+1 | 2 | aaai25.sty | Yes | 1 extra | | ACL/EMNLP | 8 | 2 | acl.sty | Yes | Yes | | CVPR/ICCV | 8 | 2 | cvpr.sty | Yes | Yes | | ICBINB | 4 | 2 | icbinb.sty | Yes | Yes | | arXiv | ∞ | 1 | article.cls | No | N/A | ## Standard Project Structure ``` paper/ ├── main.tex ├── references.bib ├── sections/ │ ├── abstract.tex │ ├── introduction.tex │ ├── related_work.tex │ ├── background.tex │ ├── methods.tex │ ├── experiments.tex │ ├── results.tex │ └── conclusion.tex ├── figures/ ├── tables/ └── appendix/ └── appendix.tex ``` ## Essential Packages (always include) ```latex \usepackage{amsmath,amssymb,amsthm} % Math \usepackage{graphicx} % Figures \usepackage{booktabs} % Professional tables \usepackage{hyperref} % Clickable references \usepackage{algorithm,algpseudocode} % Algorithms \usepackage{subcaption} % Subfigures \usepackage{xcolor} % Colors \usepackage{enumitem} % List customization \usepackage{multirow} % Table multi-row \usepackage{cleveref} % Smart references \usepackage{microtype} % Better typography ``` ## Common Custom Commands ```latex \DeclareMathOperator*{\argmin}{arg\,min} \DeclareMathOperator*{\argmax}{arg\,max} \newcommand{\norm}[1]{\left\| #1 \right\|} \newcommand{\abs}[1]{\left| #1 \right|} \newcommand{\ie}{\textit{i.e.}} \newcommand{\eg}{\textit{e.g.}} \newcommand{\etal}{\textit{et al.}} % Remove before submission: \newcommand{\todo}[1]{\textcolor{red}{[TODO: #1]}} ``` ## Anonymization Checklist - [ ] No author names in `\author{}` - [ ] No "our previous work [X]" or "we previously showed" - [ ] No GitHub/institutional URLs - [ ] No acknowledgments section - [ ] No grant numbers or funding info - [ ] Supplementary material is anonymous too #!/usr/bin/env python3 """Clean and sanitize LaTeX text for compilation. Replaces special characters with LaTeX equivalents, handles math/text mode separation, fixes non-UTF8 characters, and cleans table content. Extracted from data-to-paper. Stdlib-only (uses re instead of regex). Usage: python clean_latex.py --input draft.tex --output cleaned.tex python clean_latex.py --input draft.tex --dry-run python clean_latex.py --input draft.tex --output cleaned.tex --tables-only """ import argparse import os import re import sys # Special characters to LaTeX escape sequences CHARS = { '&': r'\&', '%': r'\%', '#': r'\#', '_': r'\_', '^': r'\textasciicircum{}', '<': r'$<$', '>': r'$>$', '\u2264': r'$\leq$', # ≤ '\u2265': r'$\geq$', # ≥ '\u2260': r'$\neq$', # ≠ '\u00b1': r'$\pm$', # ± '\u00d7': r'$\times$', # × '\u00f7': r'$\div$', # ÷ '\u00b0': r'$^{\circ}$', # ° '\u221e': r'$\infty$', # ∞ '\u221a': r'$\sqrt{}$', # √ '\u2211': r'$\sum$', # ∑ '\u220f': r'$\prod$', # ∏ '|': r'\textbar{}', '\u2208': r'$\in$', # ∈ '\u2209': r'$\notin$', # ∉ '\u2200': r'$\forall$', # ∀ '\u2203': r'$\exists$', # ∃ '\u2205': r'$\emptyset$', # ∅ '\u200b': '', # zero width space '\u202f': ' ', # narrow no-break space } # Non-UTF8 characters to LaTeX-safe replacements NON_UTF8_CHARS = { '\u2013': '--', # – '\u2019': "'", # ' '\u2018': "`", # ' '\u201c': "``", # " '\u201d': "''", # " '\u00b2': r'$^2$', # ² '\u00b3': r'$^3$', # ³ '\u00bc': r'$\frac{1}{4}$', # ¼ '\u00bd': r'$\frac{1}{2}$', # ½