如何为Rust文档编写数学公式?

Ser*_*pov 4 math documentation rust

我想在Rust文档中为我的箱子写一个数学公式.看起来像LaTeX的基本支持至少power有效:

/// $ 2^8 $
Run Code Online (Sandbox Code Playgroud)

渲染如下:

在此输入图像描述

我想在我的公式中使用一个分数,但不幸的是,这不起作用:

/// $ \frac{x}y $
Run Code Online (Sandbox Code Playgroud)

vic*_*cte 11

史蒂夫的 回答类似,使用 katex 您可以遵循以下方法:

您需要将一个 html 文件放在您的 crate 中的某个位置,其中包含要包含在--html-in-header选项中的代码。然后执行:

Linux:

RUSTDOCFLAGS="--html-in-header path-to-your-header-file.html" cargo doc --no-deps
Run Code Online (Sandbox Code Playgroud)

视窗命令:

set RUSTDOCFLAGS=--html-in-header path-to-your-header-file.html
cargo doc --no-deps --open
Run Code Online (Sandbox Code Playgroud)

Windows PowerShell:

$env:RUSTDOCFLAGS="--html-in-header .\path-to-your-header-file.html"
cargo doc --no-deps --open
Run Code Online (Sandbox Code Playgroud)

--no-deps 不是绝对必要的,但如果您不想将标题添加到另一个外部板条箱的文档中,则很方便。

要在http://docs.rs 中使用,您必须将其放在Cargo.toml

[package.metadata.docs.rs]
rustdoc-args = [ "--html-in-header", "path-to-your-header-file.html" ]
Run Code Online (Sandbox Code Playgroud)

头文件的内容可以是(这是Kernfeld的解决方案):

RUSTDOCFLAGS="--html-in-header path-to-your-header-file.html" cargo doc --no-deps
Run Code Online (Sandbox Code Playgroud)

有关扩展 doc html 页面可能性的另一个示例(无 LaTeX),请参见 pwnies

更新

我制作了一个最小的示例 repo,显示了上述所有内容。该与相关文档使用LaTeX


She*_*ter 6

看起来有LaTeX的基本支持

不完全的.有支持Markdown,而不是LaTeX.Stack Overflow也支持Markdown,但风格各异.例如:a^b=> a ^ b,但a<sup>b</sup>=> a b.Markdown不支持任意LaTeX.的确,你的例子:

/// Hi
///
/// $ 2^8 $
pub fn what() {

}
Run Code Online (Sandbox Code Playgroud)

生成仍包含以下内容的内容$:

在此输入图像描述

下一个最好的事情可能是生成预渲染图像,然后将它们包含在您的文档中,但是一个开放的问题似乎表明,除非您将图像托管在其他地方,否则目前无法实现.

在rustdoc中甚至存在支持MathJax的问题,但这已经关闭了.