我想在Rust文档中为我的箱子写一个数学公式。
至少在power
起作用的情况下,它似乎已基本支持LaTeX:
/// $ 2^8 $
呈现为:
我想在公式中使用小数,但是不幸的是,这不起作用:
/// $ \frac{x}y $
最佳答案
与Steve's answer类似,使用katex可以遵循以下方法:
您需要将html文件放在 crate 中的某个位置,并将代码包含在
--html-in-header
选项中。然后执行:Linux:
RUSTDOCFLAGS="--html-in-header path-to-your-header-file.html" cargo doc --no-deps
Windows cmd:
set RUSTDOCFLAGS=--html-in-header path-to-your-header-file.html
cargo doc --no-deps --open
Windows PowerShell:
$env:RUSTDOCFLAGS="--html-in-header .\path-to-your-header-file.html"
cargo doc --no-deps --open
--no-deps
不是严格必需的,但是如果您不想将 header 添加到另一个外部包装箱的文档中,则很方便。要在http://docs.rs中使用,必须将其放在
Cargo.toml
上:[package.metadata.docs.rs]
rustdoc-args = [ "--html-in-header", "path-to-your-header-file.html" ]
header html文件的内容可能是(这是Kernfeld的解决方案):
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "\\(", right: "\\)", display: false},
{left: "$", right: "$", display: false},
{left: "\\[", right: "\\]", display: true}
]
});
});
</script>
See pwnies是另一个扩展doc html页面可能性的示例(没有LaTeX)。
UPDATE :
我制作了一个minimal example repo,显示了以上所有内容。使用
LaTeX
将crate与关联的documentation关联。关于math - 如何为Rust文档编写数学公式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46495063/