LaTeX: what shows as source
Table of Contents
What Kalem's view of LaTeX leaves as source, measured on the arXiv sample of the coverage study (decision D30, kalem latex-coverage, the arXiv workflow), a local run of the same sample, 2026-10-03. This page is generated by tools/latex-limitations.py from the report; regenerate it with each measurement rather than editing it.
The sample: 925 papers, 2496 files, 86,181 KB of body text (200 papers per field submitted in 2024, five fields, five categories each).
1. By field
| Field | Papers | Files | Body KB | Shown as source | Formulas | Formulas TeX typesets |
|---|---|---|---|---|---|---|
| biology | 189 | 588 | 14,375 | 0.05% | 10.65% | 0.03% |
| computer science | 179 | 869 | 16,220 | 0.09% | 12.69% | 0.34% |
| economics | 183 | 484 | 22,225 | 0.06% | 22.87% | 0.15% |
| mathematics | 187 | 256 | 18,713 | 0.06% | 39.30% | 0.45% |
| physics | 187 | 299 | 14,646 | 0.09% | 16.97% | 0.52% |
A construct shows as source when the view neither renders it nor knows it prints nothing: its command name and arguments stay as written, dimmed, never hidden or guessed (the standard modes' third rule). The formulas the math renderer cannot read are typeset by TeX when it is installed; without TeX they show as source too.
2. By paper
The papers whose body shows less than 3% as source, the target of D30 for each paper (papers with less than 2 KB of body left out):
| Field | Papers | At the target | Share |
|---|---|---|---|
| biology | 188 | 188 | 100.00% |
| computer science | 178 | 178 | 100.00% |
| economics | 183 | 183 | 100.00% |
| mathematics | 187 | 186 | 99.47% |
| physics | 187 | 186 | 99.47% |
The papers that show the most source, with the share of their body:
| Paper | Field | Body KB | Shown as source | Formulas TeX typesets |
|---|---|---|---|---|
| 2401.01034 | mathematics | 41 | 4.99% | 0.00% |
| 2401.01856 | physics | 47 | 3.08% | 0.00% |
| 2401.12118 | economics | 45 | 2.67% | 0.00% |
| 2401.04478 | biology | 47 | 2.14% | 0.33% |
| 2401.00630 | mathematics | 103 | 1.72% | 0.05% |
| 2401.15205 | economics | 71 | 1.62% | 0.00% |
| 2401.02355 | physics | 32 | 1.59% | 0.00% |
| 2401.01009 | physics | 91 | 1.16% | 2.59% |
| 2401.03241 | physics | 152 | 1.06% | 0.35% |
| 2401.00968 | mathematics | 93 | 1.04% | 0.14% |
| 2401.01012 | mathematics | 114 | 1.04% | 3.98% |
| 2401.00828 | computer science | 40 | 0.96% | 0.00% |
| 2401.02266 | physics | 81 | 0.96% | 0.32% |
| 2401.00935 | computer science | 72 | 0.93% | 0.00% |
| 2401.05502 | computer science | 96 | 0.92% | 0.79% |
| 2401.02000 | physics | 95 | 0.78% | 0.01% |
| 2401.00658 | computer science | 46 | 0.76% | 0.00% |
| 2401.00663 | computer science | 18 | 0.76% | 0.00% |
| 2401.01450 | physics | 87 | 0.76% | 0.00% |
| 2401.00755 | computer science | 111 | 0.72% | 0.00% |
3. The constructs that show the most source
The names behind the source, by the bytes they leave, with the papers that use them. A name in one or two papers is mostly a paper's own macro whose definition the view cannot follow (a loop, a picture drawn in TeX, a package read nowhere else); a name in many is a construct the view should learn.
| Name | Source KB | Share of source | Papers | Example |
|---|---|---|---|---|
\frac |
1.5 | 2.54% | 8 | \frac{1}{\text{cluster\_size}} |
\numlist |
0.8 | 1.39% | 1 | \numlist[group-digits = none]{521;689;881;883;899;1215;1394;1540;1708… |
\aspct |
0.8 | 1.31% | 1 | \aspct |
\begin{barticle} |
0.8 | 1.27% | 1 | \begin{barticle}[author] \bauthor{\bsnm{Bai},~\bfnm{Zhi~Dong}\binits{… |
\right |
0.7 | 1.17% | 9 | \right) |
\left |
0.6 | 1.01% | 9 | \left( |
\begin{deferredproof} |
0.5 | 0.78% | 1 | \begin{deferredproof}{\cref{lem:case2}} Let $G$ be the event that \be… |
\begin{vquote} |
0.4 | 0.68% | 1 | \begin{vquote} \documentclass[<options>]{elsarticle} \end{vquote} |
\mathcal |
0.4 | 0.66% | 6 | \mathcal{L} |
\begin{CodeChunk} |
0.4 | 0.63% | 1 | \begin{CodeChunk} \begin{CodeInput} > library(csranks) > library(ggpl… |
\begin{supfigure} |
0.4 | 0.63% | 1 | \begin{supfigure}[H] \centering \includegraphics[width=\textwidth]{./… |
\endcsname |
0.4 | 0.60% | 16 | \endcsname |
\usepackage |
0.3 | 0.57% | 2 | \usepackage[\ |
\code |
0.3 | 0.53% | 1 | \code |
\endbibitem |
0.3 | 0.52% | 1 | \endbibitem |
\footnotemark |
0.3 | 0.51% | 10 | \footnotemark[2] |
\partialinput |
0.3 | 0.51% | 1 | \partialinput |
\sec |
0.3 | 0.50% | 1 | \sec |
\thm |
0.3 | 0.50% | 1 | \thm |
\string |
0.3 | 0.49% | 3 | \string |
\append |
0.3 | 0.48% | 1 | \append |
\proof |
0.3 | 0.48% | 6 | \proof |
\prob |
0.3 | 0.47% | 1 | \prob |
\citeasnoun |
0.3 | 0.47% | 1 | \citeasnoun |
\primitiveinput |
0.3 | 0.47% | 1 | \primitiveinput |
\qw |
0.3 | 0.45% | 1 | \qw |
\justifying |
0.3 | 0.45% | 3 | \justifying |
\includepdf |
0.3 | 0.45% | 3 | \includepdf[pages=-]{supplement.pdf} |
\romannumeral |
0.3 | 0.45% | 6 | \romannumeral |
\para |
0.3 | 0.44% | 2 | \para |
Of the 30 names that leave the most source, 19 are in one or two papers.
4. Formulas the math renderer cannot read
Why the formulas TeX typesets fail in the math renderer, by bytes:
| Message | KB | Papers | Example |
|---|---|---|---|
formula: No such environment: tikzpicture |
17.8 | 7 | $T_{\threepointstar{0.15cm}}(k)$ |
formula: Undefined control sequence: \alignedoverset |
17.5 | 1 | \[ \begin{aligned} (I - B^{\top})^{-1} u & = u + \sum_{m = 1}^{\infty… |
formula: Undefined control sequence: \hdashedline |
8.4 | 1 | \begin{equation} \label{eq:pad_a_inv_faber} \NiceMatrixOptions { cust… |
formula: Expected 'EOF', got '_' |
7.8 | 9 | \begin{align} & \vert \cL_\mu({\pi_k},Q_r^{{\pi_k}}) - \cL_\mu ({\pi_… |
formula: Undefined control sequence: \m |
7.1 | 1 | $\Net_{\m{WA}}$ |
formula: Undefined control sequence: \Res |
7.1 | 3 | $\Res^G_H\colon \cK(G)\to \cK(H)$ |
formula: Got function '\right' with no arguments as subscript |
6.7 | 1 | \begin{equation} \label{eta_integral_split} \begin{split} I_{pole}^{(… |
formula: Undefined control sequence: \fd |
5.5 | 1 | \begin{align} \fd{4.5cm}{figsCO/Full_Glaub_tree}\,, \end{align} |
formula: Undefined control sequence: \includegraphics |
5.4 | 6 | \[\includegraphics[width=\textwidth]{matrixAK.pdf}\] |
formula: Expected group as argument to '\mathchoice' |
3.8 | 1 | $\ve x$ |
formula: Undefined control sequence: \CMcal |
3.6 | 1 | $\Gamma(\mX; \CMcal O_{\mX})$ |
formula: No such environment: picture |
3.5 | 1 | \[ \mathbf{D}(-) = \myR\sHom(-, \omega^{\mydot}_X). \] |
formula: Undefined control sequence: \adjustbox |
3.5 | 1 | \begin{equation}\label{eq:gauge_inv} \adjustbox{valign=m}{\includegra… |
formula: Undefined control sequence: \C |
3.2 | 1 | $\dim(V)>\C{c:brauer}(\ul{d})$ |
formula: Undefined control sequence: \s |
3.1 | 1 | $ \mathbf{\s{WK}} = \kbordermatrix{ & k1 & k2 & k3 & k4 & k5 & k6\\ w… |
formula: Undefined control sequence: \Spc |
3.1 | 1 | $\Spc(\DAM(\bbF;\kk))$ |
formula: Undefined control sequence: \bl |
2.9 | 1 | $U_i = c_i + s_i \bl_i$ |
formula: Undefined control sequence: \Error |
2.7 | 1 | $\Error_p(\Dist,\TrainingSet)=\frac{1}{n}\sum_{i=1}^n\! \lvert{s_i-\s… |
formula: Can't use function '\mathbf' in text mode |
2.6 | 1 | \begin{align}\nonumber &{\color{blue}\delta_{\x'}} = \text{ Success p… |
formula: Unexpected end of input in a macro argument |
2.6 | 8 | $\sbullet$ |