OpenParable
Skip to content
← Back to skills

Math Typesetting Guide

Documents
math-typesetting-guide

Math Typesetting Guide is an Agent Skill for documents published in the brycewang-stanford/Auto-Empirical-Research-Skills repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

LaTeX math typesetting, equation formatting, and cross-referencing

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills/blob/HEAD/skills/43-wentorai-research-plugins/skills/writing/latex/math-typesetting-guide/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/math-typesetting-guide, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

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

NotationLaTeXCategory
Real numbers\mathbb{R}Sets
Integers\mathbb{Z}Sets
Natural numbers\mathbb{N}Sets
Expectation\mathbb{E}Probability
Probability\mathbb{P} or \PrProbability
Normal distribution\mathcal{N}(\mu, \sigma^2)Distributions
Partial derivative\frac{\partial f}{\partial x}Calculus
Gradient\nabla fCalculus
Matrix transpose\mathbf{A}^\topLinear algebra
Matrix inverse\mathbf{A}^{-1}Linear algebra
Frobenius norm|\mathbf{A}|_FLinear algebra
L2 norm|\mathbf{x}|_2Linear algebra
Inner product\langle \mathbf{x}, \mathbf{y} \rangleLinear algebra
Indicator function\mathbbm{1}_{[condition]}Functions
Summation\sum_{i=1}^{N}Operations
Product\prod_{i=1}^{N}Operations
Argmin/argmax\operatorname*{argmin}_\thetaOptimization
KL divergenceD_\text{KL}(p | q)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 \left( and \right) for auto-sizing delimiters, or explicit sizes: \big(, \Big(, \bigg(, \Bigg(
  • Use \text{...} for words within math mode: $p(\text{data} | \theta)$
  • Use \quad or \qquad for spacing in equations
  • Use \phantom{x} for invisible spacing to align elements
  • Avoid $$...$$ (plain TeX); use \[...\] or environments instead
  • Number only equations that are referenced in the text