Awesome-Agent-Skills-for-Empirical-Research math-typesetting-guide
LaTeX math typesetting, equation formatting, and cross-referencing
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/43-wentorai-research-plugins/skills/writing/latex/math-typesetting-guide" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-math-typesetting- && rm -rf "$T"
manifest:
skills/43-wentorai-research-plugins/skills/writing/latex/math-typesetting-guide/SKILL.mdsource content
Math Typesetting Guide
Comprehensive reference for typesetting mathematical notation, equations, and theorems in LaTeX with correct formatting, numbering, and cross-referencing.
Essential Packages
\usepackage{amsmath} % Core math environments (align, gather, etc.) \usepackage{amssymb} % Additional math symbols \usepackage{amsthm} % Theorem environments \usepackage{mathtools} % Extensions to amsmath (dcases, coloneqq, etc.) \usepackage{bm} % Bold math symbols (\bm{x}) \usepackage{bbm} % Blackboard bold for indicators (\mathbbm{1}) \usepackage{nicefrac} % Inline fractions (\nicefrac{1}{2}) \usepackage{siunitx} % SI units (\SI{9.8}{m/s^2})
Inline vs. Display Math
Inline Math
Use
$...$ or \(...\) for math within text:
The loss function $\mathcal{L}(\theta) = -\sum_{i=1}^{N} \log p(y_i | x_i; \theta)$ minimizes the negative log-likelihood.
Display Math (Unnumbered)
Use
\[...\] for centered, unnumbered equations:
\[ \nabla_\theta \mathcal{L}(\theta) = -\frac{1}{N} \sum_{i=1}^{N} \nabla_\theta \log p(y_i | x_i; \theta) \]
Display Math (Numbered)
Use the
equation environment for numbered equations:
\begin{equation} E = mc^2 \label{eq:einstein} \end{equation}
Reference with
\eqref{eq:einstein} to produce "(1)" with parentheses automatically.
Multi-Line Equations
align Environment
Use
align for multi-line equations with alignment points (&):
\begin{align} \mathcal{L}(\theta) &= \mathbb{E}_{(x,y) \sim \mathcal{D}} \left[ \ell(f_\theta(x), y) \right] \label{eq:loss} \\ &= \frac{1}{N} \sum_{i=1}^{N} \ell(f_\theta(x_i), y_i) \label{eq:empirical-loss} \\ &\approx \frac{1}{B} \sum_{j=1}^{B} \ell(f_\theta(x_j), y_j) \label{eq:minibatch-loss} \end{align}
Use
align* for unnumbered multi-line equations. Use \nonumber to suppress numbering on specific lines.
split Environment
Use
split inside equation for a single equation number spanning multiple lines:
\begin{equation} \begin{split} \text{ELBO}(\theta, \phi; x) &= \mathbb{E}_{q_\phi(z|x)} \left[ \log p_\theta(x|z) \right] \\ &\quad - D_\text{KL}\left( q_\phi(z|x) \| p(z) \right) \end{split} \label{eq:elbo} \end{equation}
cases Environment
For piecewise functions:
\begin{equation} \text{ReLU}(x) = \begin{cases} x & \text{if } x > 0 \\ 0 & \text{otherwise} \end{cases} \label{eq:relu} \end{equation}
Common Mathematical Notation
Symbols Reference Table
| Notation | LaTeX | Category |
|---|---|---|
| Real numbers | | Sets |
| Integers | | Sets |
| Natural numbers | | Sets |
| Expectation | | Probability |
| Probability | or | Probability |
| Normal distribution | | Distributions |
| Partial derivative | | Calculus |
| Gradient | | Calculus |
| Matrix transpose | | Linear algebra |
| Matrix inverse | | Linear algebra |
| Frobenius norm | | Linear algebra |
| L2 norm | | Linear algebra |
| Inner product | | Linear algebra |
| Indicator function | | Functions |
| Summation | | Operations |
| Product | | Operations |
| Argmin/argmax | | Optimization |
| KL divergence | | Information theory |
Custom Operators
Define custom operators for clean notation:
% In preamble \DeclareMathOperator*{\argmin}{arg\,min} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator{\Tr}{Tr} % Matrix trace \DeclareMathOperator{\diag}{diag} % Diagonal matrix \DeclareMathOperator{\softmax}{softmax} \DeclareMathOperator{\sigmoid}{\sigma} \newcommand{\R}{\mathbb{R}} % Shorthand for real numbers \newcommand{\E}{\mathbb{E}} % Shorthand for expectation \newcommand{\norm}[1]{\left\| #1 \right\|} % Norm shorthand \newcommand{\abs}[1]{\left| #1 \right|} % Absolute value \newcommand{\inner}[2]{\langle #1, #2 \rangle} % Inner product
Matrices and Arrays
% Matrix with parentheses \begin{equation} \mathbf{W} = \begin{pmatrix} w_{11} & w_{12} & \cdots & w_{1n} \\ w_{21} & w_{22} & \cdots & w_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ w_{m1} & w_{m2} & \cdots & w_{mn} \end{pmatrix} \end{equation} % Matrix with square brackets \begin{equation} \mathbf{A} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \end{equation}
Theorems and Proofs
% In preamble: define theorem environments \newtheorem{theorem}{Theorem}[section] \newtheorem{lemma}[theorem]{Lemma} \newtheorem{proposition}[theorem]{Proposition} \newtheorem{corollary}[theorem]{Corollary} \theoremstyle{definition} \newtheorem{definition}[theorem]{Definition} \theoremstyle{remark} \newtheorem{remark}[theorem]{Remark} % In document: \begin{theorem}[Universal Approximation] \label{thm:universal-approx} For any continuous function $f: [0,1]^n \to \mathbb{R}$ and any $\epsilon > 0$, there exists a feedforward neural network $g$ with one hidden layer such that $\sup_{x \in [0,1]^n} |f(x) - g(x)| < \epsilon$. \end{theorem} \begin{proof} The proof proceeds by construction. Consider a network with $\sigmoid$ activation functions... % End proof with QED symbol (automatic with amsthm) \end{proof}
Cross-Referencing Best Practices
% Use cleveref for automatic reference formatting \usepackage[capitalise,noabbrev]{cleveref} % Then reference with: \cref{eq:loss} % -> "Equation 1" \cref{thm:universal-approx} % -> "Theorem 1" \Cref{eq:loss} % -> "Equation 1" (capital, for start of sentence) \crefrange{eq:loss}{eq:minibatch-loss} % -> "Equations 1 to 3" % Label naming conventions: % eq:name for equations % thm:name for theorems % lem:name for lemmas % def:name for definitions % fig:name for figures % tab:name for tables % sec:name for sections
Formatting Tips
- Use
and\left(
for auto-sizing delimiters, or explicit sizes:\right)
,\big(
,\Big(
,\bigg(\Bigg( - Use
for words within math mode:\text{...}$p(\text{data} | \theta)$ - Use
or\quad
for spacing in equations\qquad - Use
for invisible spacing to align elements\phantom{x} - Avoid
(plain TeX); use$$...$$
or environments instead\[...\] - Number only equations that are referenced in the text