Math Typesetting

A brief guide to setup KaTeX

Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.

In this example we will be using KaTeX

  • Create a partial under /layouts/partials/math.html
  • Within this partial reference the Auto-render Extension or host these scripts locally.
  • Include the partial in your templates like so:
1{{ if or .Params.math .Site.Params.math }}
2{{ partial "math.html" . }}
3{{ end }}
  • To enable KaTeX globally set the parameter math to true in a project’s configuration
  • To enable KaTeX on a per page basis include the parameter math: true in content files

Note: Use the online reference of Supported TeX Functions

1{{< math.inline >}}
2{{ if or .Page.Params.math .Site.Params.math }}
3<!-- KaTeX -->
4<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous">
5<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"></script>
6<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
7{{ end }}
8{{</ math.inline >}}

Examples

Inline math: $\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$

Block math:

$$ \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } $$
Licensed under CC BY-NC-SA 4.0
网站总访客数:Loading

Built with Hugo
Theme Stack designed by Jimmy