Skip to content
Back to skills

Latex Manual

ASecurity

Comprehensive LaTeX reference with commands, templates, and troubleshooting for document typesetting

  • 666 stars
  • 0 votes
  • 1 copy
  • 14 views
  • Added February 9, 2026
documentationpythongobashnodedebugginggitbackendperformancedocumentation

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill latex-manual --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Latex Manual?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Latex Manual
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-latex-manual/badge)](https://www.skillsdirectory.com/skills/majiayu000-latex-manual)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: latex-manual
description: Comprehensive LaTeX reference with commands, templates, and troubleshooting for document typesetting
version: 1.1.0
---

# LaTeX Skill

Comprehensive assistance with LaTeX document preparation, typesetting, and formatting. This skill provides quick references, templates, and troubleshooting for academic papers, presentations, reports, and technical documents.

## When to Use This Skill

This skill should be triggered when:
- Writing LaTeX documents (papers, theses, reports)
- Creating mathematical equations and formulas
- Formatting scientific or academic documents
- Making presentations with Beamer
- Debugging LaTeX compilation errors
- Creating tables, figures, or bibliographies
- Asking about LaTeX commands or syntax
- Converting documents to LaTeX format
- Setting up document structure or layout
- Troubleshooting LaTeX warnings or errors

## Quick Reference

### Essential Document Structure

```latex
\documentclass{article}  % or book, report, beamer
\usepackage{graphicx}     % For images
\usepackage{amsmath}      % For math
\usepackage{hyperref}     % For hyperlinks

\title{Document Title}
\author{Author Name}
\date{\today}

\begin{document}

\maketitle

\section{Introduction}
Your content here.

\subsection{Background}
More content.

\section{Conclusion}
Final thoughts.

\end{document}
```

### Common Commands

**Text Formatting:**
- `\textbf{bold text}` - Bold
- `\textit{italic text}` - Italic
- `\underline{underlined}` - Underline
- `\texttt{monospace}` - Typewriter font
- `\emph{emphasized}` - Emphasis (usually italic)

**Document Structure:**
- `\section{Title}` - Section heading
- `\subsection{Title}` - Subsection
- `\subsubsection{Title}` - Sub-subsection
- `\paragraph{Title}` - Paragraph heading
- `\label{sec:intro}` - Label for cross-reference
- `\ref{sec:intro}` - Reference to label

**Lists:**
```latex
% Bulleted list
\begin{itemize}
  \item First item
  \item Second item
\end{itemize}

% Numbered list
\begin{enumerate}
  \item First item
  \item Second item
\end{enumerate}

% Description list
\begin{description}
  \item[Term] Definition
  \item[Another] Explanation
\end{description}
```

**Math Mode:**
- Inline: `$x^2 + y^2 = z^2$`
- Display: `$$E = mc^2$$`
- Numbered equation:
```latex
\begin{equation}
  \int_0^1 f(x)dx = F(1) - F(0)
  \label{eq:ftc}
\end{equation}
```

**Tables:**
```latex
\begin{table}[h]
  \centering
  \begin{tabular}{|c|c|c|}
    \hline
    Header 1 & Header 2 & Header 3 \\
    \hline
    Data 1 & Data 2 & Data 3 \\
    Data 4 & Data 5 & Data 6 \\
    \hline
  \end{tabular}
  \caption{Table caption}
  \label{tab:example}
\end{table}
```

**Figures:**
```latex
\begin{figure}[h]
  \centering
  \includegraphics[width=0.8\textwidth]{image.pdf}
  \caption{Figure caption}
  \label{fig:example}
\end{figure}
```

**Cross-References:**
- `See Section~\ref{sec:intro}` - Reference section
- `As shown in Figure~\ref{fig:example}` - Reference figure
- `Equation~\eqref{eq:ftc}` - Reference equation (with parentheses)

**Citations:**
```latex
% In preamble
\usepackage{natbib}
\bibliographystyle{plain}

% In text
According to~\cite{author2024}...
Multiple citations~\cite{author2024,smith2023}...

% At end of document
\bibliography{references}  % references.bib file
```

### Common Packages

**Essential:**
- `amsmath` - Advanced mathematics
- `graphicx` - Include graphics
- `hyperref` - Clickable links and URLs
- `geometry` - Page layout
- `fancyhdr` - Custom headers/footers

**Text and Fonts:**
- `fontenc` - Font encoding
- `inputenc` - Input encoding (UTF-8)
- `babel` - Language support
- `microtype` - Typography improvements

**Tables and Lists:**
- `booktabs` - Professional tables
- `longtable` - Multi-page tables
- `enumitem` - Customizable lists

**Graphics:**
- `tikz` - Programmatic graphics
- `pgfplots` - Data plots
- `subfig` - Subfigures

**Bibliography:**
- `natbib` - Citations and bibliography
- `biblatex` - Modern bibliography system

**Code Listings:**
- `listings` - Source code formatting
- `minted` - Syntax highlighting (requires Python)

**Advanced Graphics and Diagrams:**
- `tikz` - Create diagrams, flowcharts, and complex graphics programmatically
- `pgfplots` - Publication-quality data plots and charts
- `circuitikz` - Circuit diagrams
- `chemfig` - Chemical structure diagrams

**Algorithms and Pseudocode:**
- `algorithm2e` - Algorithm formatting
- `algorithmic` - Pseudocode
- `algorithmicx` - Enhanced pseudocode

**Advanced Math:**
- `mathtools` - Extensions to amsmath
- `physics` - Physics notation shortcuts
- `siunitx` - SI unit formatting

## Advanced Patterns

### TikZ Diagrams

```latex
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}

\begin{tikzpicture}[node distance=2cm]
  % Define nodes
  \node (start) [circle, draw] {Start};
  \node (process) [rectangle, draw, right of=start] {Process};
  \node (end) [circle, draw, right of=process] {End};

  % Draw arrows
  \draw [->] (start) -- (process);
  \draw [->] (process) -- (end);
\end{tikzpicture}
```

### Data Plots with PGFPlots

```latex
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{tikzpicture}
  \begin{axis}[
    xlabel=$x$,
    ylabel=$f(x)$,
    legend pos=north west
  ]
    \addplot[blue, thick] {x^2};
    \addplot[red, dashed] {2*x};
    \legend{$x^2$, $2x$}
  \end{axis}
\end{tikzpicture}
```

### Algorithm Formatting

```latex
\usepackage{algorithm2e}

\begin{algorithm}[H]
  \SetAlgoLined
  \KwData{Input data}
  \KwResult{Output result}

  initialization\;
  \While{condition}{
    process data\;
    \If{condition}{
      do something\;
    }
  }

  \caption{Algorithm Description}
\end{algorithm}
```

### Beamer Presentations

```latex
\documentclass{beamer}
\usetheme{Madrid}  % or Berlin, Copenhagen, etc.
\usecolortheme{beaver}

\title{Presentation Title}
\author{Your Name}
\date{\today}

\begin{document}

\frame{\titlepage}

\begin{frame}{Outline}
  \tableofcontents
\end{frame}

\section{Introduction}
\begin{frame}{Introduction}
  \begin{itemize}
    \item<1-> First point (appears first)
    \item<2-> Second point (appears second)
    \item<3-> Third point (appears third)
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{Code Example}
  \begin{lstlisting}[language=Python]
def hello_world():
    print("Hello, World!")
  \end{lstlisting}
\end{frame}

\end{document}
```

### SI Units with siunitx

```latex
\usepackage{siunitx}

% Numbers with units
\SI{3.14e8}{\meter\per\second}  % 3.14×10⁸ m/s
\SI{25}{\celsius}                % 25 °C
\SI{9.81}{\meter\per\second\squared}

% Tables with aligned decimals
\begin{tabular}{S[table-format=2.3]}
  \toprule
  {Value} \\
  \midrule
  1.234 \\
  12.567 \\
  0.001 \\
  \bottomrule
\end{tabular}
```

### Subfigures

```latex
\usepackage{subcaption}

\begin{figure}[htbp]
  \centering
  \begin{subfigure}[b]{0.45\textwidth}
    \includegraphics[width=\textwidth]{image1.pdf}
    \caption{First subfigure}
    \label{fig:sub1}
  \end{subfigure}
  \hfill
  \begin{subfigure}[b]{0.45\textwidth}
    \includegraphics[width=\textwidth]{image2.pdf}
    \caption{Second subfigure}
    \label{fig:sub2}
  \end{subfigure}
  \caption{Overall caption}
  \label{fig:main}
\end{figure}
```

## Performance Tips for Large Documents

### Speed Up Compilation
- Use `\includeonly{chapter1}` to compile only specific chapters
- Draft mode: `\documentclass[draft]{article}` (skips images)
- Use `latexmk` for smart recompilation
- Split large documents with `\include{chapter1}`

### Memory Management
- For large bibliographies: use `biblatex` with backend=biber
- Reduce figure resolution in draft mode
- Use `\input` for smaller files, `\include` for chapters
- Clear auxiliary files regularly

### Package Load Order
**Critical order to avoid conflicts:**
```latex
\usepackage[utf8]{inputenc}   % First
\usepackage[T1]{fontenc}       % Second
\usepackage{babel}             % Third
\usepackage{amsmath}           % Before hyperref
\usepackage{graphicx}          % Before hyperref
\usepackage{cleveref}          % After hyperref
\usepackage{hyperref}          % Near end
\usepackage{bookmark}          % After hyperref
```

## Reference Files

This skill includes comprehensive documentation in `references/`:

- **quick-start.md** - Getting started with LaTeX
- **mathematics.md** - Math mode, equations, symbols
- **formatting.md** - Text formatting, fonts, spacing
- **tables-graphics.md** - Tables, figures, images
- **bibliography.md** - Citations and bibliography management
- **troubleshooting.md** - Common errors and solutions

## Templates

Ready-to-use templates in `assets/`:

- **article-template.tex** - Basic article/paper
- **report-template.tex** - Report with chapters
- **beamer-template.tex** - Presentation slides
- **letter-template.tex** - Formal letter
- **ieee-paper-template.tex** - IEEE conference paper format

## Scripts

Helper scripts in `scripts/`:

- **compile.sh** - Compile LaTeX document
- **clean.sh** - Remove auxiliary files
- **bibtex.sh** - Run complete BibTeX workflow

## Common Patterns

### Two-Column Layout

```latex
\documentclass[twocolumn]{article}
% or
\usepackage{multicol}
\begin{multicols}{2}
  Content in two columns
\end{multicols}
```

### Custom Page Margins

```latex
\usepackage{geometry}
\geometry{
  a4paper,
  left=1in,
  right=1in,
  top=1in,
  bottom=1in
}
```

### Custom Headers and Footers

```latex
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{Left Header}
\fancyhead[C]{Center Header}
\fancyhead[R]{Right Header}
\fancyfoot[C]{\thepage}
```

### Including Code

```latex
\usepackage{listings}
\lstset{
  language=Python,
  basicstyle=\ttfamily,
  numbers=left,
  frame=single
}

\begin{lstlisting}
def hello():
    print("Hello, World!")
\end{lstlisting}
```

### Multiple Authors

```latex
\author{
  First Author\thanks{University A} \and
  Second Author\thanks{University B} \and
  Third Author\thanks{University C}
}
```

## Compilation Workflow

**Standard:**
```bash
pdflatex document.tex
pdflatex document.tex  # Run twice for references
```

**With Bibliography:**
```bash
pdflatex document.tex
bibtex document
pdflatex document.tex
pdflatex document.tex
```

**Modern (latexmk):**
```bash
latexmk -pdf document.tex  # Handles all compilation steps
```

## Troubleshooting Quick Tips

**Undefined control sequence:**
- Missing package (add `\usepackage{...}`)
- Typo in command name
- Missing math mode delimiter
- Command from newer package version

**Missing $ inserted:**
- Math symbols used outside math mode
- Add `$...$` or `\(...\)` around math
- Underscore `_` or caret `^` outside math mode

**File not found:**
- Check file path and extension
- Use relative paths or place in same directory
- For images, ensure file extension is specified
- Check for spaces in filenames (use `grffile` package)

**Overfull \hbox:**
- Line too wide to fit
- Add `\sloppy` or break long URLs with `\url{}`
- Use `\linebreak` or rephrase text
- For tables: reduce font size or use `\resizebox`

**Undefined references:**
- Run LaTeX twice (first pass creates labels, second resolves)
- Check label names match `\ref{...}` commands
- Ensure `\label{}` appears after `\caption{}`

**Package clash / Option clash:**
- Packages loaded multiple times with different options
- Load package once with all options: `\usepackage[opt1,opt2]{pkg}`
- Some packages must load in specific order (see Package Load Order)

**! LaTeX Error: Environment ... undefined:**
- Missing package that defines the environment
- Typo in environment name
- Package not installed (install from CTAN)

**Dimension too large:**
- TikZ/PGF coordinates too large
- Use smaller units or scale down
- Increase TeX's dimension limit (rare)

**! Missing number, treated as zero:**
- Usually in tabular/array environments
- Check for missing `&` or `\\`
- Verify column specifications match content

**! Paragraph ended before ... was complete:**
- Missing closing brace `}`
- Command argument spans multiple paragraphs (add `\long`)
- Check for balanced delimiters

## Best Practices

### Document Organization
1. **Always compile twice** after adding labels/references
2. **Use meaningful labels**: `\label{sec:intro}` not `\label{s1}`
3. **Keep figures in subfolder**: `figures/image.pdf`
4. **Use vector graphics** (PDF, EPS) when possible
5. **Separate bibliography** into `.bib` file
6. **Split large documents**: Use `\include{chapter1}` for chapters

### Code Quality
7. **Version control** your `.tex` files (Git recommended)
8. **Comment your code**: `% This explains the code`
9. **Use packages sparingly**: Only include what you need
10. **Consistent formatting**: Choose one citation style
11. **Test compilation early and often**
12. **UTF-8 encoding**: Always use `\usepackage[utf8]{inputenc}`

### Modern LaTeX Recommendations
13. **Use `cleveref` for smart references**: `\cref{fig:plot}` → "Figure 3"
14. **Use `booktabs` for professional tables** (no vertical lines)
15. **Use `biblatex` instead of `natbib`** for new projects
16. **Use `microtype`** for subtle typography improvements
17. **Use `\autoref` or `\cref`** instead of manual "Figure~\ref{}"
18. **Load `hyperref` near the end** of preamble (except `cleveref`, `bookmark`)

### Performance and Efficiency
19. **Use `latexmk`** for automated compilation
20. **Enable draft mode** during editing: `\documentclass[draft]{article}`
21. **Use `\includeonly{}`** to compile only changed chapters
22. **Clean auxiliary files** regularly to prevent stale references

## Resources

### Online Documentation
- LaTeX Wikibook: https://en.wikibooks.org/wiki/LaTeX
- Overleaf Learn: https://www.overleaf.com/learn
- CTAN (packages): https://ctan.org
- TeX Stack Exchange: https://tex.stackexchange.com

### Reference Files
See `references/` directory for detailed guides on:
- Quick start and basics
- Mathematical typesetting
- Text formatting and fonts
- Tables and graphics
- Bibliography management
- Troubleshooting common errors

### Templates
See `assets/` directory for ready-to-use templates:
- Academic papers
- Technical reports
- Presentations
- Letters
- Conference papers

## Version History

- **1.1.0** (2026-01-01): Enhanced with advanced LaTeX patterns
  - Added TikZ diagram examples
  - Added PGFPlots for data visualization
  - Added algorithm formatting examples
  - Added Beamer presentation patterns
  - Added siunitx for SI units
  - Added subfigure examples
  - Enhanced troubleshooting (10 new error scenarios)
  - Added performance tips for large documents
  - Added package load order guidelines
  - Expanded best practices (22 items, organized by category)
  - Added advanced packages section (graphics, algorithms, math)

- **1.0.0** (2025-12-31): Initial manual creation
  - Comprehensive command reference
  - 5 document templates
  - Troubleshooting guide
  - Compilation scripts

## Contributing

To enhance this skill:
1. Add new templates to `assets/`
2. Expand reference guides in `references/`
3. Update SKILL.md quick reference
4. Add helper scripts to `scripts/`
5. Document common patterns and solutions

---

**Created**: Manually curated LaTeX skill
**Status**: Production Ready
**Version**: 1.1.0
**Last Updated**: 2026-01-01
**Enhancement**: Manual enhancement with advanced patterns and examples

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.