#mdbook #scientific #equation

bin+lib mdbook-scientific

为 mdbook 启用行内方程,通过 $..$ 符号和 $$..$$

4 个版本

0.5.0-beta.32023年1月17日
0.5.0-beta.22022年12月13日
0.2.2 2022年9月26日
0.2.1 2022年9月23日

文本处理 中排名 #1020

GPL-3.0 许可证

65KB
1.5K SLoC

科学 mdbook 插件

此插件为 mdbook 添加了科学应用功能。

它允许作者生成命名的 LaTeX,命名的 Gnuplots 并支持 bibtex 文件。文本中进一步进行方程、图形或文献的交叉引用也是可能的。示例输出请见此处

安装

编译此软件包并将 mdbook-scientific 添加到您的搜索路径。如果您想生成参考文献,则需要 bib2xhtml。然后请将以下内容添加到您的 book.toml

[preprocessor.scientific]
renderer = ["html"]

bibliography = "literature.bib"
bib2xhtml = "/home/lorenz/Documents/tmp/bib2xhtml/"

assets = "src/"

[output.html]
additional-css = ["src/scientific.css"]

先决条件

  • 公式和通用 latex 渲染 latexdvisvgm
  • 图形需要 gnuplot

语法

对于块方程渲染,使用以下语法

$$equation, <name>
...
$$

equation 标识符只有在您想命名方程块时才需要。然后您可以在整个 mdbook 中使用 $ref:equ:<name>$ 进行交叉引用。

相同的语法也适用于 latexgnuplot 图形,两者都需要为图形添加副标题。另外,gnuplotonly 图形仅使用 Gnuplot 将文件渲染为 SVG。

gnuplot 渲染的示例

$$gnuplot, <name>, <subtitle>
...
$$

然后使用 $ref:fig:<name>$ 进行交叉引用。

如果块为空,则预处理器会在配置中指定的 assets 路径中查找。因此,对于块 $$latex, legendrepoly, Legendre Polynomials$$,它会查找文件 src/legendrepoly.tex

配置文件中引用的 BibTeX 文件被添加为附加章节,并且可以使用以下代码生成引用:$ref:bib:<name>$

稳定性/可行性

概念验证,以下为实际可行性的突出紧急待办事项

  • 处理代码块中的 $ 符号
  • 迁移到完整的 Markdown 解析器而不是实现启发式算法
  • 尽可能减少对宿主二进制的依赖

依赖项

~18–30MB
~460K SLoC