# Latex Compiler

> Latex Compiler is an Agent Skill for documents published in the Prismer-AI/Prismer repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Compile LaTeX documents to PDF using pdflatex, xelatex, or lualatex with template support. Use when the user asks to compile .tex files, build a LaTeX document, generate PDF from LaTeX, or typeset an academic paper.

- Skill name: `latex-compiler`
- Category: [Documents](https://www.openparable.com/skill/documents/1)
- Source: https://github.com/Prismer-AI/Prismer/blob/HEAD/skills/latex-compiler/SKILL.md
- Repository: Prismer-AI/Prismer (782 GitHub stars when collected)

## SKILL.md

# latex-compiler

Compile LaTeX documents to PDF directly from the workspace. Supports multiple engines, bibliography processing, and starter templates.

## Description

This skill wraps the container's LaTeX server (port 8080) which provides pdflatex, xelatex, and lualatex compilation. It supports bibliography processing via biber, multi-pass compilation for cross-references, and includes starter templates for common document types.

## Usage Examples

- "Compile this LaTeX document to PDF"
- "Preview the PDF output of my paper"
- "What LaTeX templates are available?"
- "Give me the IEEE template"
- "Compile this with xelatex for Chinese support"

## Process

1. **Choose template** — Use `latex_templates` to see available templates, then `latex_get_template` to get starter content
2. **Write LaTeX** — Edit the source document
3. **Compile** — Use `latex_compile` to generate the PDF (saved in container). If compilation fails, check the `errors` field in the response for line numbers and fix LaTeX syntax issues before recompiling
4. **Preview** — Use `latex_preview` to get an inline base64 PDF for display

## Tools

### latex_compile

Compile LaTeX source to PDF. The PDF is saved inside the container.

**Parameters:**
- `content` (string, required): Full LaTeX source code
- `filename` (string, optional): Output filename stem (default: `document`)
- `engine` (string, optional): `pdflatex` | `xelatex` | `lualatex` (default: `pdflatex`)
- `bibliography` (string, optional): BibTeX/BibLaTeX content (triggers biber)
- `runs` (number, optional): Compilation passes (default: 2 for cross-references)

**Returns:** `{ success, pdf_path, log, errors, warnings, compile_id }`

**Example:**
```json
{ "content": "\\documentclass{article}\\begin{document}Hello\\end{document}", "engine": "pdflatex" }
```

### latex_preview

Compile LaTeX source and return the PDF as base64 for inline preview.

**Parameters:**
- `content` (string, required): Full LaTeX source code
- `filename` (string, optional): Output filename stem (default: `document`)
- `engine` (string, optional): `pdflatex` | `xelatex` | `lualatex` (default: `pdflatex`)
- `bibliography` (string, optional): BibTeX/BibLaTeX content (triggers biber)

**Returns:** `{ success, pdf_base64, pdf_path, log, errors, warnings, compile_id }`

**Example:**
```json
{ "content": "\\documentclass{article}\\begin{document}Hello\\end{document}" }
```

### latex_templates

List available LaTeX templates and supported engines.

**Parameters:** None

**Returns:** `{ templates: string[], engines: string[] }`

### latex_get_template

Get the LaTeX source of a starter template.

**Parameters:**
- `name` (string, required): Template name — `article`, `article-zh`, `beamer`, `ieee`

**Returns:** `{ name, content }`

**Example:**
```json
{ "name": "ieee" }
```

## Notes

- Chinese documents (`article-zh`) require `xelatex` or `lualatex` engine
- Compilation timeout is 120 seconds per run
- Multi-pass compilation (default 2 runs) resolves cross-references and TOC
- If `bibliography` is provided, biber runs automatically between passes
- PDFs are saved to `/home/user/output/reports/` inside the container

---

Source: https://www.openparable.com/skill/documents/latex-compiler (OpenParable). Cite the canonical URL above.
