quarto-dev / quarto-dev/quarto-cli
enhancement: add MathJax equation numbering for math environments in html
@cscheid is already working on this.
Since Jan 28, 2023.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
By default, MathJax does not have equation numbers when the LaTeX math environments are used. This:
---
title: "test6"
format: html
---
\begin{equation}\label{eq-a}
a
\end{equation}
produces this:

instead of this (with numbers)

The reason is that the default behavior for MathJax is to not show the equation numbers. This causes endless confusion for those who use the math environment, which is used for more complex math.
It'd be great if Quarto turned on equation numbering in math environments by default so that html and PDF output behaves the same. All that is needed is to have this script in the header if the equation engine is mathjax:
<script>
MathJax = {
tex: {
tags: 'ams' // should be 'ams', 'none', or 'all' }
};
</script>
Obviously you can turn this on manually with
---
title: "test5"
html:
include-in-header: mathjax.html
---
with mathjax.html having the script above but most users spend hours and hours trying to debug lack of numbers until they stumble upon the right solution. What is worse, is that the solution depends on the MathJax version. The above is the method for the version being used by Quarto (by default).
I don't think there is any reason to have the numbering turned off. Anyone using the LaTeX math environment is likely to be a LaTeX user and we have a standard methods for selectively turning off numbers on an equation if that were wanted.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.