#katex #rustdoc #script #rendered #documentation #katexit #autorender

nightly katexit-example-nightly

使用nightly rustc渲染katexit示例

1个不稳定版本

0.1.4 2022年10月29日

#14 in #katex

Apache-2.0

5KB

Crate docs.rs

将KaTeX自动渲染脚本插入rustdoc

用法

#[cfg_attr(doc, katexit::katexit)]
/// We can write $\LaTeX$ expressions
///
/// Display style
/// -------------
///
/// $$
/// c = \\pm\\sqrt{a^2 + b^2}
/// $$
pub fn my_func() {}

docs.rs上查看渲染结果。

工作原理

#[katexit] proc-macro插入KaTeX自动渲染脚本作为#[doc = "{script}"]. 由于rustdoc的markdown到HTML翻译器不会修改markdown中嵌入的HTML部分,它们将被原样传递到浏览器。当您打开由rustdoc生成的页面时,自动渲染脚本开始渲染文档部分中用$编写的数学表达式,即这不能离线工作。

  • rustdoc-katex-demo和类似的演示项目
    • 它们使用rustdoc中的--html-in-header选项来插入KaTeX自动渲染脚本。但这需要在Cargo.toml中进行一些复杂的设置。
  • aquamarine
    • 使用proc-macro为cargo-doc的思路基于这个crate。
  • katex-rs
    • 这是“Rust绑定到KaTeX”。这个crate的目标是使用QuickJS运行KaTeX,而不需要外部依赖。

依赖关系

~1.5MB
~35K SLoC