HUGO

  • 新闻
  • 文档
  • 主题
  • 社区
  • GitHub
  • 关于 Hugo
    • In this section
    • Introduction
    • Features
    • Privacy
    • Security
    • License
  • 安装
    • In this section
    • macOS
    • Linux
    • Windows
    • BSD
  • 入门
    • In this section
    • Quick start
    • Basic usage
    • Directory structure
    • Configuration
    • Configure markup
    • Glossary of terms
    • External learning resources
  • Quick reference
    • In this section
    • Emojis
    • Functions
    • Methods
    • Page collections
  • 内容管理
    • In this section
    • Organization
    • Page bundles
    • Content formats
    • Front matter
    • Build options
    • Page resources
    • Image processing
    • Shortcodes
    • Related content
    • Sections
    • Content types
    • Archetypes
    • Taxonomies
    • Summaries
    • Links and cross references
    • URL management
    • Menus
    • Comments
    • Multilingual
    • Markdown attributes
    • Syntax highlighting
    • Diagrams
    • Mathematics
    • Data sources
    • Content adapters
  • 模板
    • In this section
    • Introduction
    • Template types
    • Lookup order
    • Base templates
    • Home templates
    • Single templates
    • Section templates
    • Taxonomy templates
    • Term templates
    • Partial templates
    • Content view templates
    • Shortcode templates
    • Sitemap templates
    • RSS templates
    • 404 templates
    • robots.txt templates
    • Menus
    • Pagination
    • Embedded templates
    • Custom output formats
  • 函数
    • In this section
    • cast
    • collections
    • compare
    • crypto
    • css
    • data
    • debug
    • diagrams
    • encoding
    • fmt
    • global
    • go template
    • hash
    • hugo
    • images
    • inflect
    • js
    • lang
    • math
    • openapi3
    • os
    • partials
    • path
    • reflect
    • resources
    • safe
    • strings
    • templates
    • time
    • transform
    • urls
  • 方法
    • In this section
    • Duration
    • Menu
    • Menu entry
    • Page
    • Pager
    • Pages
    • Resource
    • Shortcode
    • Site
    • Taxonomy
    • Time
  • Render hooks
    • In this section
    • Introduction
    • Blockquotes
    • Code blocks
    • Headings
    • Images
    • Links
    • Passthrough
    • Tables
  • Hugo Modules
    • In this section
    • Configure Hugo modules
    • Use Hugo Modules
    • Theme components
  • Hugo Pipes
    • In this section
    • Introduction
    • Transpile Sass to CSS
    • PostCSS
    • PostProcess
    • JavaScript building
    • Babel
    • Asset minification
    • Concatenating assets
    • Fingerprinting and SRI hashing
    • Resource from string
    • Resource from template
  • CLI
  • 故障排除
    • In this section
    • Audit
    • Logging
    • Inspection
    • Deprecation
    • Performance
    • FAQs
  • 开发工具
    • In this section
    • Editor plugins
    • Front-ends
    • Search
    • Migrations
    • Other projects
  • 托管 & 部署
    • In this section
    • Hugo Deploy
    • Deploy with Rclone
    • Deploy with Rsync
    • Host on 21YunBox
    • Host on AWS Amplify
    • Host on Azure Static Web Apps
    • Host on Cloudflare Pages
    • Host on Firebase
    • Host on GitHub Pages
    • Host on GitLab Pages
    • Host on KeyCDN
    • Host on Netlify
    • Host on Render
  • 贡献
    • In this section
    • Development
    • Documentation
    • Themes
  • Maintenance
FUNCTIONS TRANSFORM FUNCTIONS

transform.ToMath

Renders a math expression using KaTeX.

Syntax

transform.ToMath EXPRESSION [OPTIONS]

Returns

types.Result[template.HTML]
New in v0.132.0

This feature was introduced in Hugo 0.132.0 and is marked as experimental.

This does not mean that it’s going to be removed, but this is our first use of WASI/Wasm in Hugo, and we need to see how it works in the wild before we can set it in stone.

Arguments

EXPRESSION
The math expression to render using KaTeX.
OPTIONS
A map of zero or more options.

Options

These are a subset of the KaTeX options.

output
(string). Determines the markup language of the output. One of html, mathml, or htmlAndMathml. Default is mathml.

With html and htmlAndMathml you must include KaTeX CSS within the head element of your base template. For example:

<head>
  ...
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
  ...
</head>
displayMode
(bool) If true render in display mode, else render in inline mode. Default is false.
leqno
(bool) If true render with the equation numbers on the left. Default is false.
fleqn
(bool) If true render flush left with a 2em left margin. Default is false.
minRuleThickness
(float) The minimum thickness of the fraction lines in em. Default is 0.04.
macros
(map) A map of macros to be used in the math expression. Default is {}.
throwOnError
(bool) If true throw a ParseError when KaTeX encounters an unsupported command or invalid LaTex. See error handling. Default is true.
errorColor
(string) The color of the error messages expressed as an RGB hexadecimal color. Default is #cc0000.

Examples

Basic

{{ transform.ToMath "c = \\pm\\sqrt{a^2 + b^2}" }}

Macros

{{ $macros := dict 
    "\\addBar" "\\bar{#1}"
    "\\bold" "\\mathbf{#1}"
}}
{{ $opts := dict "macros" $macros }}
{{ transform.ToMath "\\addBar{y} + \\bold{H}" $opts }}

Error handling

There are 3 ways to handle errors from KaTeX:

  1. Let KaTeX throw an error and make the build fail. This is the default behavior.
  2. Handle the error in your template. See the render hook example below.
  3. Set the throwOnError option to false to make KaTeX render the expression as an error instead of throwing an error. See [options].
layouts/_default/_markup/render-passthrough-inline.html
{{ with transform.ToMath .Inner }}
  {{ with .Err }}
    {{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
  {{ else }}
    {{ . }}
  {{ end }}
{{ end }}
{{- /* chomp trailing newline */ -}}

See also

  • Mathematics in Markdown

On this page

  • Arguments
  • Options
  • Examples
  • Error handling

In this section

  • transform.CanHighlight
  • transform.Emojify
  • transform.Highlight
  • transform.HighlightCodeBlock
  • transform.HTMLEscape
  • transform.HTMLUnescape
  • transform.Markdownify
  • transform.Plainify
  • transform.Remarshal
  • transform.ToMath
  • transform.Unmarshal
  • transform.XMLEscape
Last updated: August 22, 2024: Update transform.ToMath (e5dee265)
By the Hugo Authors
Hugo Logo
  • File an Issue
  • Get Help
  • @GoHugoIO
  • @spf13
  • @bepsays
 

The Hugo logos are copyright © Steve Francia 2013–2024.

The Hugo Gopher is based on an original work by Renée French.

  • 新闻
  • 文档
  • 主题
  • 社区
  • GitHub
  • 关于 Hugo
  • 安装
  • 入门
  • Quick reference
  • 内容管理
  • 模板
  • 函数
  • 方法
  • Render hooks
  • Hugo Modules
  • Hugo Pipes
  • CLI
  • 故障排除
  • 开发工具
  • 托管 & 部署
  • 贡献
  • Maintenance