A Claude skill that transforms structured research content into publication-ready, compilable LaTeX documents with journal-specific formatting.
LaTeX Academic Publisher turns Claude into a dedicated LaTeX formatting and compilation companion for researchers, students, and academics. Instead of wrestling with cryptic compilation errors or manually formatting bibliographies, you get structured, stage-aware assistance that knows exactly where you are in the publication pipeline.
Whether you're starting a blank IEEE conference paper, converting a draft into an Elsevier journal template, fixing a stubborn BibTeX error, or preparing a camera-ready submission — this skill has a workflow for it.
Describe your paper's target journal and topic, and the skill generates a complete LaTeX project: correct document class, pre-configured preamble with journal-appropriate packages, section stubs, an empty references.bib, and a .latexmkrc tuned to the template's compilation sequence.
- 7 built-in templates: IEEE, MDPI, Elsevier, Springer, ACM, Nature-style, and Plain
- Smart preamble generation: Each template gets the right packages, font encodings, and layout settings
- Section scaffolding: Auto-numbered
\include{}-based section files ready to fill
Write your paper incrementally. The skill handles each section as a modular unit — create, edit, or rewrite introduction.tex without touching the rest of the document.
- Add a new section with correct
\section{}or\chapter{}command - Maintain consistent cross-referencing with auto-generated
\label{}keys - Use
\includeonly{}for fast, focused compilation of a single section
No more staring at inscrutable log files. The skill handles the full compilation pipeline and translates LaTeX errors into plain-English fixes.
- One-command compile: Runs the correct sequence (pdflatex → bibtex → pdflatex × 2) automatically
- Error parsing: Reads
.logoutput, categorizes errors, and suggests or applies fixes - Missing packages: Detects and resolves
! LaTeX Error: File *.sty not found - Undefined citations: Cross-references
references.bibagainst\cite{}usage - Watch mode: Optional continuous compilation on file changes
Import, organize, and cite references with structured BibTeX support.
- Import
.bibfiles: Merge external libraries into your project - Citation key management: Add, check, and fix citation keys
- Style switching: Change bibliography style to match target journal (IEEEtran, elsarticle-num, spmpsci, ACM-Reference-Format, etc.)
- Entry type templates: Correct field structure for
@article,@inproceedings,@book,@phdthesis, and more
Add visual elements with correct, template-aware LaTeX code.
- Single figures: Generates
\begin{figure}...\end{figure}with proper scaling for single or double-column layouts - Multi-panel figures: Side-by-side subfigures or N×M grids via
subcaption - Tables from data: CSV-to-LaTeX conversion with
booktabsformatting - Template-aware widths: Uses
\columnwidth,0.48\textwidth(two-column), or\textwidth(single-column) as appropriate
Prepare your camera-ready package with a single command.
- Collects only required files (
.tex, sections, figures,.bib) - Strips comments for final version (optional)
- Outputs a clean ZIP archive in
build/
| Template | Document Class | Best For | Priority |
|---|---|---|---|
| IEEE | IEEEtran |
IEEE journals & conferences (TNNLS, CVPR, etc.) | ★★★★★ |
| MDPI | mdpi class |
Sensors, Applied Sciences, Remote Sensing, etc. | ★★★★★ |
| Elsevier | elsarticle |
All Elsevier journals (preprint/review/final) | ★★★★★ |
| Springer | svjour3 / llncs |
Springer journals & LNCS proceedings | ★★★★ |
| ACM | acmart |
ACM conferences (CHI, ICSE, SIGGRAPH) | ★★★★ |
| Nature | article (approximation) |
Nature Portfolio preprints & submissions | ★★★ |
| Plain | article + custom |
Theses, reports, general academic writing | ★★★ |
| Input | What the Skill Does |
|---|---|
.tex files |
Reads structure, fixes errors, reformats for target journal |
.bib / BibTeX |
Imports, validates, and formats references |
.csv / .xlsx data |
Converts to publication-ready LaTeX tables |
Figures (.pdf, .png, .eps) |
Places with correct captioning and scaling |
.log / .blg files |
Parses compilation errors and suggests fixes |
- A Claude.ai account (free or paid)
- LaTeX distribution installed locally (TeX Live recommended:
sudo apt install texlive-fullorbrew install --cask mactex) latexmk(included with TeX Live)
You can add this skill directly to your local project environment or global skill registry using the package runner:
npx skill add your-username/latex-academic-publisherThis command automatically pulls the instruction assets (SKILL.md and templates) from the remote repository and initializes them for your workspace.
- Clone the repository
git clone https://github.com/your-username/latex-academic-publisher.git
cd latex-academic-publisher- Open Claude.ai
Navigate to Claude.ai and sign in to your account.
- Access the Skills panel
Click your avatar in the bottom-left corner, then select Skills from the menu.
- Add the skill
Click Add Skill → Upload from file, then select SKILL.md from your local copy of the repository.
- Verify the installation
The skill should now appear in your Skills library. Start a new conversation and select LaTeX Academic Publisher from the skill picker to begin.
To sync the latest improvements and template updates:
# If installed via manual clone
git pull origin main
# If managed via CLI tool
npx skill update your-username/latex-academic-publisherlatex-academic-publisher/
├── SKILL.md # Core skill instructions
├── latex-academic-publisher.skill # Packaged skill kit
├── README.md # This file
└── reference/
├── templates/ # Per-template LaTeX examples
│ ├── ieee/ # IEEEtran (main, preamble, metadata)
│ ├── mdpi/ # MDPI class
│ ├── elsevier/ # elsarticle
│ ├── springer/ # svjour3
│ ├── acm/ # acmart
│ ├── nature/ # article (Nature-style)
│ └── plain/ # Generic article
├── examples/
│ ├── latexmkrc-example # .latexmkrc compilation config
│ ├── references-example.bib # Reference entries (all types)
│ ├── bibtex-cheatsheet.md # BibTeX field reference
│ ├── common-errors.md # 10 common LaTeX errors + fixes
│ ├── figure-template.tex # Figure code snippets
│ └── table-template.tex # Table code snippets
└── scripts/
└── init-project.sh # Project initializer script
# 1. Initialize a new IEEE paper
init "my-ieee-paper" template=ieee
# 2. Write your introduction
section introduction "In this paper, we propose..."
# 3. Add references
ref import references.bib
ref cite Author2024Key
# 4. Add a figure
figure add figures/architecture.png "Proposed system architecture" fig:arch
# 5. Compile
compile
# 6. Fix any errors
fix
# 7. Package for submission
submit- Guide, don't ghostwrite. The skill helps you structure and format your LaTeX document — it won't fabricate content or hallucinate references.
- One section at a time. Write and compile incrementally. Never write an entire paper in one shot.
- Compile early, compile often. Catch errors when they're small and isolated.
- Template fidelity. Output matches the target journal's guidelines — font sizes, margin widths, citation styles, and section numbering.
- No hallucinated packages. Every
\usepackage{}is backed by a real CTAN package. The skill won't add non-existent LaTeX commands.
Contributions are welcome and appreciated! Whether you're fixing a template, adding support for a new journal, or improving error messages — your help makes this skill better for everyone.
- Report a bug — Open an issue describing the problem, including the error log and steps to reproduce.
- Add a template — Have a journal class file that's not yet supported? We'd love to add it.
- Submit a pull request — See something you can fix or improve? We'd love to review your PR.
- Open an issue first — Describe what you'd like to change and why.
- Fork the repository — Create your own copy on GitHub.
- Clone your fork locally
git clone https://github.com/your-username/latex-academic-publisher.git
cd latex-academic-publisher- Create a feature branch
git checkout -b feat/add-new-template- Make your changes & follow the guidelines below.
- Commit and push
git add .
git commit -m "feat: add Elsevier template with correct class options"
git push origin feat/add-new-template- Open a Pull Request — Reference your initial issue in the PR description.
- Match the existing tone — The skill communicates in a structured, instructive style. New instructions should follow the same voice.
- Preserve template fidelity — Each template must produce compilable output that matches the journal's formatting guidelines.
- Don't break existing workflows — Verify that template changes don't introduce regressions for other templates.
- Document your additions — If you add a new template, include example
main.tex,preamble.tex, andmetadata.texfiles inreference/templates/.
This project adheres to a simple standard: be respectful and constructive. Harassment, personal attacks, or unprofessional behavior will not be tolerated. All interactions — whether in issues, pull requests, or discussions — should foster a welcoming and collaborative environment.
MIT License — free to use, modify, and distribute.