我正在尝试用docusaurus写一本相当技术性的手册。其中一个需求是对宏的LaTeX支持。宏允许我犯更少的错误,并且可以一次轻松地更改整个文档的某些输出。例如,不写text{P}_text{location} = 5 text{mbar}
,我可以写defplocation#1{<definition>}
,然后写plocation{5}
。
Docusaurus支持KaTeX, KaTeX支持全局宏。至少在理论上是这样。很不幸,我不能使它工作。
我已经尝试在配置中设置globalGroup: true
。我也试过向配置本身添加宏。下面是我的配置的剥离版本。
只是为了检查定义宏是否工作,defx#1{x+#1}x{5}
结果为x+5
。添加global
或将def
替换为gdef
不起作用。
我做错了什么?或者这只是不支持?
...
const macros = {
"\x": "x+1"
};
/** @type {import('@docusaurus/types').Config} */
const config = {
...
presets: [
[
'classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
...
remarkPlugins: [math],
rehypePlugins: [katex, {
throwOnError: true,
globalGroup: true,
macros
}],
},
...
}),
],
],
...
};
作为一个人,我在发布这篇文章34分钟后就发现了我做错了什么。
当添加配置到插件时,插件和配置需要在[...]
内。
正确的配置是:
rehypePlugins: [[katex, {
throwOnError: true,
globalGroup: true,
macros
}]],