Rending math to HTML in R using katex

This vignette demonstrates some example math rendered server-side in R using the katex package. Refer to the upstream katex support table for the full list of supported tex functions.

Example equations from: https://www.intmath.com/cg5/katex-mathjax-comparison.php

Equation 1

tex1 <- "\\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} \\equiv 1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}} {1+\\frac{e^{-8\\pi}} {1+\\cdots} } } }"
katex_html(tex1, include_css = TRUE)
1(ϕ5ϕ)e25π1+e2π1+e4π1+e6π1+e8π1+\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} \equiv 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } }

Equation 2

tex2 <- "\\left( \\sum_{k=1}^n a_k b_k \\right)^2 \\leq \\left( \\sum_{k=1}^n a_k^2 \\right) \\left( \\sum_{k=1}^n b_k^2 \\right)"
katex_html(tex2)

(k=1nakbk)2(k=1nak2)(k=1nbk2)\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)

Equation 3

tex3 <- "1 +  \\frac{q^2}{(1-q)}+\\frac{q^6}{(1-q)(1-q^2)}+\\cdots = \\prod_{j=0}^{\\infty}\\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \\text{ for }\\lvert q\\rvert < 1."
katex_html(tex3)

1+q2(1q)+q6(1q)(1q2)+=j=01(1q5j+2)(1q5j+3), for q<1.1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots = \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \text{ for }\lvert q\rvert < 1.

Equation 4

tex4 <- "\\int u \\frac{dv}{dx}\\,dx=uv-\\int \\frac{du}{dx}v\\,dx"
katex_html(tex4)

udvdxdx=uvdudxvdx\int u \frac{dv}{dx}\,dx=uv-\int \frac{du}{dx}v\,dx

Equation 5

tex5 <- "S (\\omega)=\\frac{\\alpha g^2}{\\omega^5} \\,e ^{[-0.74\\bigl\\{\\frac{\\omega U_\\omega 19.5}{g}\\bigr\\}^{-4}]}"
katex_html(tex5)

S(ω)=αg2ω5e[0.74{ωUω19.5g}4]S (\omega)=\frac{\alpha g^2}{\omega^5} \,e ^{[-0.74\bigl\{\frac{\omega U_\omega 19.5}{g}\bigr\}^{-4}]}

Equation 6

tex6 <- "f(n) = \\begin{cases} \\frac{n}{2}, & \\text{if } n\\text{ is even} \\\\ 3n+1, & \\text{if } n\\text{ is odd} \\end{cases}"
katex_html(tex6)

f(n)={n2,if n is even3n+1,if n is oddf(n) = \begin{cases} \frac{n}{2}, & \text{if } n\text{ is even} \\ 3n+1, & \text{if } n\text{ is odd} \end{cases}

Equation 7

tex7 <- "\\begin{aligned}
\\dot{x} & = \\sigma(y-x) \\\\ 
\\dot{y} & = \\rho x - y - xz \\\\ 
\\dot{z} & = -\\beta z + xy 
\\end{aligned}"
katex_html(tex7)
x˙=σ(yx)y˙=ρxyxzz˙=βz+xy\begin{aligned} \dot{x} & = \sigma(y-x) \\ \dot{y} & = \rho x - y - xz \\ \dot{z} & = -\beta z + xy \end{aligned}

Equation 8

tex8 <- "\\begin{pmatrix} 
a_{11} & a_{12} & a_{13}\\\\ 
a_{21} & a_{22} & a_{23}\\\\ 
a_{31} & a_{32} & a_{33} 
\\end{pmatrix}"
katex_html(tex8)
(a11a12a13a21a22a23a31a32a33)\begin{pmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{pmatrix}