Skip to content

Pandoc filter to render math equations using KaTeX

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

xu-cheng/pandoc-katex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pandoc-katex

Build Status Latest Version

A pandoc filter to render math equations using KaTeX. It is powered by the katex Rust crate.

Install

cargo install pandoc-katex

When building from the source, the following dependencies are required:

  • gcc and patch for Linux, macOS, and MinGW/MSYS2.
  • msvc for Windows.

Alternatively, you can download the pre-built binaries from releases.

Usage

pandoc -t html --filter pandoc-katex \
  --css "https://cdn.jsdelivr.net/npm/katex@$(pandoc-katex --katex-version)/dist/katex.min.css" \
  --css "https://pandoc.org/demo/pandoc.css" \
  --standalone -o output.html /path/to/input.md

You can also pass additional flags to custom KaTeX rendering. For example, to use custom LaTeX macros:

pandoc -t json /path/to/input.md | \
  pandoc-katex --macro '\RR:\mathbb{R}' | \
  pandoc -f json -t html \
    --css "https://cdn.jsdelivr.net/npm/katex@$(pandoc-katex --katex-version)/dist/katex.min.css" \
    --css "https://pandoc.org/demo/pandoc.css" \
    --standalone -o output.html

For more flags, see pandoc-katex --help.

Configuration File

Options can also be read from an external configuration file. The configuration file should be in .toml format. For example:

fleqn = true

[macros]
"\\RR" = "\\mathbb{R}"

The configuration file path can either be passed as a command line argument --config-file /path/to/config.toml or set by environment variable PANDOC_KATEX_CONFIG_FILE.

The configuration file accepts the following options. Please refer to https://katex.org/docs/options.html for more information.

Option Meaning Accepted values
output_type Set KaTeX output type. "html", "mathml", "htmlAndMathml"
leqno Whether to have \tags rendered on the left instead of the right. Boolean
fleqn Whether to make display math flush left. Boolean
throw_on_error Whether to let KaTeX throw a ParseError for invalid LaTeX. Boolean
error_color Color used for invalid LaTeX. String
min_rule_thickness Minimum thickness, in ems. Float
max_size Max size for user-specified sizes. Float
max_expand Limit for the number of macro expansions. Int
trust Whether to trust users' input. Boolean
macros Custom macros. Dictionary

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Pandoc filter to render math equations using KaTeX

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Languages