agentsclimarketplace

Math typesetting guide

Skill brycewang-stanford/Auto-Empirical-Research-Skills/skills/43-wentorai-research-plugins/skills/writing/latex/math-typesetting-guide

LaTeX math typesetting, equation formatting, and cross-referencingFrom its SKILL.md

Install
npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill math-typesetting-guide

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

6.8 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it

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

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.