4 个版本
0.5.0-beta.3 | 2023年1月17日 |
---|---|
0.5.0-beta.2 | 2022年12月13日 |
0.2.2 | 2022年9月26日 |
0.2.1 | 2022年9月23日 |
在 文本处理 中排名 #1020
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 渲染
latex
和dvisvgm
- 图形需要
gnuplot
语法
对于块方程渲染,使用以下语法
$$equation, <name>
...
$$
equation
标识符只有在您想命名方程块时才需要。然后您可以在整个 mdbook
中使用 $ref:equ:<name>$
进行交叉引用。
相同的语法也适用于 latex
和 gnuplot
图形,两者都需要为图形添加副标题。另外,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