transform.ToMath
文法
transform.ToMath EXPRESSION [OPTIONS]
戻り値
types.Result[template.HTML]
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 ofhtml,mathml, orhtmlAndMathml. Default ismathml.With
htmlandhtmlAndMathmlyou must include KaTeX CSS within theheadelement of your base template. For example:<head> ... <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous"> ... </head> - displayMode
- (
bool) Iftruerender in display mode, else render in inline mode. Default isfalse. - leqno
- (
bool) Iftruerender with the equation numbers on the left. Default isfalse. - fleqn
- (
bool) Iftruerender flush left with a 2em left margin. Default isfalse. - minRuleThickness
- (
float) The minimum thickness of the fraction lines inem. Default is0.04. - macros
- (
map) A map of macros to be used in the math expression. Default is{}. - throwOnError
- (
bool) Iftruethrow aParseErrorwhen KaTeX encounters an unsupported command or invalid LaTex. See error handling. Default istrue. - 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:
- Let KaTeX throw an error and make the build fail. This is the default behavior.
- Handle the error in your template. See the render hook example below.
- Set the
throwOnErroroption tofalseto 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 */ -}}