Claude
Skills
Sign in
Back

latex

Included with Lifetime
$97 forever

Comprehensive LaTeX reference for document creation, formatting, mathematics, tables, figures, bibliographies, and compilation. Use when helping users write, edit, debug, or compile LaTeX documents.

Code Review

What this skill does


# LaTeX Skill

## 1. Overview

LaTeX is a markup language and typesetting system for producing high-quality documents. It excels at structured documents with complex formatting, mathematics, cross-references, and bibliographies.

**When to use LaTeX:**
- Academic papers, journal submissions
- Theses and dissertations
- Technical documentation
- CVs and résumés
- Presentations (Beamer)
- Books, reports, letters

**Key concepts:**

| Concept | Description |
|---------|-------------|
| **Preamble** | Everything before `\begin{document}` — class, packages, settings |
| **Document body** | Content between `\begin{document}` and `\end{document}` |
| **Commands** | Start with `\`, e.g. `\textbf{bold}`. Optional args in `[]`, required in `{}` |
| **Environments** | `\begin{name}...\end{name}` blocks for scoped formatting |
| **Packages** | Extensions loaded with `\usepackage{name}` in the preamble |

## 2. Document Structure

### Document Classes

```latex
\documentclass[options]{class}
```

| Class | Use case |
|-------|----------|
| `article` | Short documents, papers, assignments |
| `report` | Longer documents with chapters |
| `book` | Books (front/back matter, chapters) |
| `beamer` | Presentations/slides |
| `letter` | Formal letters |
| `memoir` | Flexible — replaces article/report/book |

### Common Class Options

```latex
\documentclass[12pt,a4paper,twocolumn,draft]{article}
```

| Option | Values |
|--------|--------|
| Font size | `10pt`, `11pt`, `12pt` |
| Paper | `a4paper`, `letterpaper`, `a5paper` |
| Columns | `onecolumn`, `twocolumn` |
| Sides | `oneside`, `twoside` |
| Draft | `draft` (shows overfull boxes, skips images) |

### Minimal Document

```latex
\documentclass[12pt,a4paper]{article}

% === PREAMBLE ===
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{hyperref}

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

% === BODY ===
\begin{document}
\maketitle
\tableofcontents

\section{Introduction}
Content here.

\end{document}
```

## 3. Text Formatting

### Style Commands

| Command | Result |
|---------|--------|
| `\textbf{text}` | **bold** |
| `\textit{text}` | *italic* |
| `\underline{text}` | underlined |
| `\emph{text}` | emphasis (italic, or upright if already italic) |
| `\texttt{text}` | `monospace` |
| `\textsc{text}` | SMALL CAPS |
| `\textsf{text}` | sans-serif |

### Font Sizes

Smallest to largest:
```
\tiny  \scriptsize  \footnotesize  \small  \normalsize
\large  \Large  \LARGE  \huge  \Huge
```

Use as: `{\large This text is large.}` or as environment.

### Font Families

| Command | Declaration | Family |
|---------|-------------|--------|
| `\textrm{}` | `\rmfamily` | Serif (Roman) |
| `\textsf{}` | `\sffamily` | Sans-serif |
| `\texttt{}` | `\ttfamily` | Monospace |

### Alignment

```latex
\begin{center}    Centered text.    \end{center}
\begin{flushleft} Left-aligned.     \end{flushleft}
\begin{flushright} Right-aligned.   \end{flushright}
```

Or inline: `\centering`, `\raggedright`, `\raggedleft`

### Spacing

```latex
\vspace{1cm}          % vertical space
\hspace{2em}          % horizontal space
\vfill                % stretch vertical
\hfill                % stretch horizontal
\\[0.5cm]             % line break with extra space
\setlength{\parskip}{0.5em}   % paragraph spacing
\setlength{\parindent}{0pt}   % remove paragraph indent
\noindent             % suppress indent for one paragraph
```

Line spacing (requires `setspace` package):
```latex
\usepackage{setspace}
\onehalfspacing    % or \doublespacing, \singlespacing
```

### Special Characters

These characters must be escaped:

| Character | LaTeX | Character | LaTeX |
|-----------|-------|-----------|-------|
| `%` | `\%` | `$` | `\$` |
| `&` | `\&` | `#` | `\#` |
| `_` | `\_` | `{` | `\{` |
| `}` | `\}` | `~` | `\textasciitilde` |
| `^` | `\textasciicircum` | `\` | `\textbackslash` |

## 4. Document Organization

### Sectioning

```latex
\part{Part Title}           % only in report/book
\chapter{Chapter Title}     % only in report/book
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
\paragraph{Paragraph}
\paragraphsub{Subparagraph}
```

Starred versions (`\section*{}`) suppress numbering and TOC entry.

### Table of Contents

```latex
\tableofcontents    % requires two compilations
\listoffigures
\listoftables
```

### Lists

```latex
% Bulleted
\begin{itemize}
  \item First item
  \item Second item
\end{itemize}

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

% Labeled
\begin{description}
  \item[Term] Definition here.
\end{description}
```

Customize with `enumitem` package:
```latex
\usepackage{enumitem}
\begin{enumerate}[label=(\alph*), start=1]
```

### Cross-References

```latex
\section{Methods}\label{sec:methods}
See Section~\ref{sec:methods} on page~\pageref{sec:methods}.
```

With `hyperref`, use `\autoref{sec:methods}` for automatic "Section 2" text.

**Rule:** Always place `\label` *after* `\caption` (in floats) or after the sectioning command.

### Footnotes

```latex
This has a footnote.\footnote{Footnote text here.}
```

## 5. Mathematics

### Inline vs Display

```latex
Inline: $E = mc^2$ or \(E = mc^2\)

Display:
\[ E = mc^2 \]

% Numbered equation:
\begin{equation}\label{eq:einstein}
  E = mc^2
\end{equation}
```

### Essential Packages

```latex
\usepackage{amsmath}    % align, cases, matrices, etc.
\usepackage{amssymb}    % extra symbols (ℝ, ℤ, etc.)
\usepackage{mathtools}  % extends amsmath (dcases, coloneqq, etc.)
```

### Common Constructs

```latex
% Fractions
\frac{a}{b}          \dfrac{a}{b}  (display-size)

% Roots
\sqrt{x}             \sqrt[3]{x}

% Sub/superscripts
x_{i}   x^{2}   x_{i}^{2}   a_{i,j}

% Sums, products, integrals
\sum_{i=1}^{n} x_i      \prod_{i=1}^{n} x_i
\int_{0}^{\infty} f(x)\,dx
\lim_{x \to \infty} f(x)

% Brackets (auto-sized)
\left( \frac{a}{b} \right)
\left[ ... \right]
\left\{ ... \right\}
```

### Matrices

```latex
\begin{pmatrix} a & b \\ c & d \end{pmatrix}   % (a b; c d)
\begin{bmatrix} a & b \\ c & d \end{bmatrix}   % [a b; c d]
\begin{vmatrix} a & b \\ c & d \end{vmatrix}   % |a b; c d| (determinant)
\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}   % {a b; c d}
```

### Aligned Equations

```latex
\begin{align}
  f(x) &= x^2 + 2x + 1 \label{eq:f} \\
  g(x) &= x^3 - 1       \label{eq:g}
\end{align}

% No numbering:
\begin{align*}
  a &= b + c \\
  d &= e + f
\end{align*}
```

### Cases

```latex
f(x) = \begin{cases}
  x^2  & \text{if } x \geq 0 \\
  -x^2 & \text{if } x < 0
\end{cases}
```

### Greek Letters

| Lower | Command | Upper | Command |
|-------|---------|-------|---------|
| α | `\alpha` | Α | `A` |
| β | `\beta` | Β | `B` |
| γ | `\gamma` | Γ | `\Gamma` |
| δ | `\delta` | Δ | `\Delta` |
| ε | `\epsilon`, `\varepsilon` | Ε | `E` |
| θ | `\theta` | Θ | `\Theta` |
| λ | `\lambda` | Λ | `\Lambda` |
| μ | `\mu` | — | — |
| π | `\pi` | Π | `\Pi` |
| σ | `\sigma` | Σ | `\Sigma` |
| φ | `\phi`, `\varphi` | Φ | `\Phi` |
| ω | `\omega` | Ω | `\Omega` |

### Common Math Symbols

| Symbol | Command | Symbol | Command |
|--------|---------|--------|---------|
| ≤ | `\leq` | ≥ | `\geq` |
| ≠ | `\neq` | ≈ | `\approx` |
| ± | `\pm` | × | `\times` |
| ÷ | `\div` | · | `\cdot` |
| ∈ | `\in` | ∉ | `\notin` |
| ⊂ | `\subset` | ⊆ | `\subseteq` |
| ∪ | `\cup` | ∩ | `\cap` |
| ∞ | `\infty` | ∂ | `\partial` |
| ∇ | `\nabla` | ∀ | `\forall` |
| ∃ | `\exists` | → | `\to`, `\rightarrow` |
| ⇒ | `\Rightarrow` | ⇔ | `\Leftrightarrow` |
| ℝ | `\mathbb{R}` | ℤ | `\mathbb{Z}` |
| … | `\dots`, `\ldots`, `\cdots` | | |

## 6. Tables

### Basic Table

```latex
\begin{table}[htbp]
  \centering
  \caption{Results summary}\label{tab:results}
  \begin{tabular}{lcrp{4cm}}
    \toprule
    Name & Count & Score & Description \\
    \midrule
    Alpha & 10 & 95.2 & First entry \\
    Beta  & 20 & 87.1 & Second entry \\
    \bottomrule
  \end{tabular}
\end{table}
```

### Column Specifiers

| Spec | Al
Files: 1
Size: 19.9 KB
Complexity: 24/100
Category: Code Review

Related in Code Review