2019-03-11 17:58:40 +01:00
|
|
|
---
|
|
|
|
author: Hugo Authors
|
|
|
|
title: Math Typesetting
|
|
|
|
date: 2019-03-08
|
|
|
|
description: A brief guide to setup KaTeX
|
|
|
|
math: true
|
2021-02-01 06:55:53 +01:00
|
|
|
ShowBreadCrumbs: false
|
2019-03-11 17:58:40 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.
|
2020-10-27 14:16:08 +01:00
|
|
|
|
2019-03-11 17:58:40 +01:00
|
|
|
<!--more-->
|
|
|
|
|
|
|
|
In this example we will be using [KaTeX](https://katex.org/)
|
|
|
|
|
2020-10-27 14:16:08 +01:00
|
|
|
- Create a partial under `/layouts/partials/math.html`
|
|
|
|
- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally.
|
|
|
|
- Include the partial in your templates like so:
|
2019-03-11 17:58:40 +01:00
|
|
|
|
2020-06-03 20:34:16 +02:00
|
|
|
```bash
|
2019-03-11 17:58:40 +01:00
|
|
|
{{ if or .Params.math .Site.Params.math }}
|
|
|
|
{{ partial "math.html" . }}
|
|
|
|
{{ end }}
|
2020-06-03 20:34:16 +02:00
|
|
|
```
|
|
|
|
|
2020-10-27 14:16:08 +01:00
|
|
|
- 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
|
2019-03-11 17:58:40 +01:00
|
|
|
|
|
|
|
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
|
2020-06-03 20:34:16 +02:00
|
|
|
|
2019-03-11 17:58:40 +01:00
|
|
|
{{< math.inline >}}
|
|
|
|
{{ if or .Page.Params.math .Site.Params.math }}
|
2020-10-27 14:16:08 +01:00
|
|
|
|
2019-03-11 17:58:40 +01:00
|
|
|
<!-- KaTeX -->
|
2020-05-27 23:25:02 +02:00
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
|
|
|
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
|
|
|
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
2019-03-11 17:58:40 +01:00
|
|
|
{{ end }}
|
|
|
|
{{</ math.inline >}}
|
|
|
|
|
|
|
|
### Examples
|
2020-06-03 20:34:16 +02:00
|
|
|
|
2020-05-27 23:25:02 +02:00
|
|
|
{{< math.inline >}}
|
2020-10-27 14:16:08 +01:00
|
|
|
|
2020-05-27 23:25:02 +02:00
|
|
|
<p>
|
|
|
|
Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
|
|
|
</p>
|
|
|
|
{{</ math.inline >}}
|
2019-03-11 17:58:40 +01:00
|
|
|
|
|
|
|
Block math:
|
2020-10-27 14:16:08 +01:00
|
|
|
|
2019-03-11 17:58:40 +01:00
|
|
|
$$
|
2020-10-27 14:16:08 +01:00
|
|
|
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
|
2019-03-11 17:58:40 +01:00
|
|
|
$$
|