2022-07-02 12:00:23 +00:00
+++
description = "Beautiful math and chemical formulae"
title = "Math"
+++
The `math` shortcode generates beautiful formatted math and chemical formulae using the [MathJax ](https://mathjax.org/ ) library.
2022-10-31 14:27:31 +00:00
{{< math align = "center" > }}
2022-07-02 12:00:23 +00:00
$$\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)$$
{{< / math > }}
2022-07-02 22:45:46 +00:00
{{% notice note %}}
This only works in modern browsers.
{{% /notice %}}
2022-07-02 12:00:23 +00:00
## Usage
2022-10-03 10:02:22 +00:00
While the examples are using shortcodes with named parameter it is recommended to use codefences instead. This is because more and more other software supports Math codefences (eg. GitHub) and so your markdown becomes more portable.
2022-07-02 12:00:23 +00:00
You are free to also call this shortcode from your own partials.
2023-07-27 15:02:13 +00:00
{{< tabs groupid = "shortcode-parameter" > }}
2023-06-05 21:20:37 +00:00
{{% tab title="codefence" %}}
2022-07-02 12:00:23 +00:00
````md
2022-10-31 14:27:31 +00:00
```math { align="center" }
2022-07-02 12:00:23 +00:00
$$\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)$$
```
````
{{% /tab %}}
2023-06-05 21:20:37 +00:00
{{% tab title="shortcode" %}}
2022-07-02 12:00:23 +00:00
````go
2022-10-31 14:27:31 +00:00
{{< /* math align="center" */>}}
2022-07-02 12:00:23 +00:00
$$\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)$$
{{< /* /math */>}}
````
{{% /tab %}}
2023-06-05 21:20:37 +00:00
{{% tab title="partial" %}}
2022-07-02 12:00:23 +00:00
````go
{{ partial "shortcodes/math.html" (dict
2023-07-27 14:14:55 +00:00
"page" .
2022-07-02 12:00:23 +00:00
"content" "$$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)$$"
2022-10-31 14:27:31 +00:00
"align" "center"
2022-07-02 12:00:23 +00:00
)}}
````
{{% /tab %}}
{{< / tabs > }}
### Parameter
| Name | Default | Notes |
2023-07-27 14:07:01 +00:00
|-----------------------|------------------|-------------|
2022-07-02 12:00:23 +00:00
| **align** | `center` | Allowed values are `left` , `center` or `right` . |
| _**<content>**_ | _<empty>_ | Your formuale. |
## Configuration
2023-11-29 23:14:22 +00:00
MathJax is configured with default settings. You can customize MathJax's default settings for all of your files thru a JSON object in your `hugo.toml` or override these settings per page thru your pages frontmatter.
2022-07-02 12:00:23 +00:00
2023-11-29 23:14:22 +00:00
The JSON object of your `hugo.toml` / frontmatter is forwarded into MathJax's configuration object.
2022-07-02 12:00:23 +00:00
See [MathJax documentation ](https://docs.mathjax.org/en/latest/options/index.html ) for all allowed settings.
### Global Configuration File
````toml
[params]
mathJaxInitialize = "{ \"chtml\": { \"displayAlign\": \"left\" } }"
````
### Page's Frontmatter
````toml
+++
mathJaxInitialize = "{ \"chtml\": { \"displayAlign\": \"left\" } }"
+++
````
## Examples
### Inline Math
````md
Inline math is generated if you use a single `$` as a delimiter around your formulae: {{< /* math */>}}$\sqrt{3}${{</* /math */>}}
````
Inline math is generated if you use a single `$` as a delimiter around your formulae: {{< math > }}$\sqrt{3}${{< / math > }}
2022-11-05 12:00:22 +00:00
### Blocklevel Math with Right Alignment
2022-07-02 12:00:23 +00:00
````md
If you delimit your formulae by two consecutive `$$` it generates a new block.
2022-11-05 12:00:22 +00:00
{{< /* math align="right" */>}}
2022-07-02 12:00:23 +00:00
$$\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)$$
{{< /* /math */>}}
````
If you delimit your formulae by two consecutive `$$` it generates a new block.
2022-11-05 12:00:22 +00:00
{{< math align = "right" > }}
2022-07-02 12:00:23 +00:00
$$\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)$$
{{< / math > }}
### Codefence
2023-01-14 00:39:28 +00:00
You can also use codefences.
2022-07-02 12:00:23 +00:00
````md
```math
$$\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)$$
```
````
````math
$$\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)$$
````
2022-07-02 22:35:45 +00:00
### Chemical Formulae
2022-07-02 12:00:23 +00:00
````md
{{< /* math */>}}
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
{{< /* /math */>}}
`````
{{< math > }}
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
{{< / math > }}