--- title: LaTeX tags: - feature/transformer --- Quartz uses [Katex](https://katex.org/) by default to typeset both inline and block math expressions at build time. ## Syntax ### Block Math Block math can be rendered by delimiting math expression with `$$`. ``` $$ f(x) = \int_{-\infty}^\infty f\hat(\xi),e^{2 \pi i \xi x} \,d\xi $$ ``` $$ f(x) = \int_{-\infty}^\infty f\hat(\xi),e^{2 \pi i \xi x} \,d\xi $$ $$ \begin{aligned} a &= b + c \\ &= e + f \\ \end{aligned} $$ $$ \begin{bmatrix} 1 & 2 & 3 \\ a & b & c \end{bmatrix} $$ > [!warn] > Due to limitations in the [underlying parsing library](https://github.com/remarkjs/remark-math), block math in Quartz requires the `$$` delimiters to be on newlines like above. ### Inline Math Similarly, inline math can be rendered by delimiting math expression with a single `$`. For example, `$e^{i\pi} = -1$` produces $e^{i\pi} = -1$ ### Escaping symbols There will be cases where you may have more than one `$` in a paragraph at once which may accidentally trigger MathJax/Katex. To get around this, you can escape the dollar sign by doing `\$` instead. For example: - Incorrect: `I have $1 and you have $2` produces I have $1 and you have $2 - Correct: `I have \$1 and you have \$2` produces I have \$1 and you have \$2 ### Using mhchem Add the following import to the top of `quartz/plugins/transformers/latex.ts` (before all the other imports): ```ts title="quartz/plugins/transformers/latex.ts" import "katex/contrib/mhchem" ``` ## Customization Latex parsing is a functionality of the [[plugins/Latex|Latex]] plugin. See the plugin page for customization options.