docusaurus中KaTeX的全局宏



我正在尝试用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
}]],

最新更新