如何告诉MathJax对下标使用替代语法

How to tell MathJax to use an alternative syntax for subscripts?

本文关键字:语法 下标 何告诉 MathJax      更新时间:2023-09-26

我的博客有问题。在写帖子时,我还可以使用MathJax添加数学。我还有一个标记语言,可以处理斜体和粗体文本。斜体的语法恰好和下标的MathJax语法冲突。

因此,如果我在端口中写下以下内容:

My cat was doing this strange sound: _Prrrrrr_.

下划线之间的文本使用斜体样式的span标记重新定义。

但在MathJax中,使用下划线意味着有下标。当然,有时我也会遇到问题。重点是,首先处理我的标记语言,然后可以运行Mathjax。

有没有一种方法可以告诉MathJax制作下标和上标,而不使用下划线,而是使用另一种语法?

感谢

有一种方法。使用此处描述的宏:在MathJax中配置纹理。通过设置这样的东西:

MathJax.Hub.Config({TeX: {Macros:{subscript:['_{#1}',1],superscript:['^{#1}',1]}}});

系统(MathJax)会用下划线替换这些东西,然后解析它,我的问题实际上是这样解决的!

我发现用反斜杠转义下划线很有帮助,比如:

...strange sound: '_Prrrrrr'_.

但这确实导致一些解析器呈现错误。

但是,如果您还将"'_"定义为只输出"_"的宏,那么这一切似乎都有效。

要在MathJax:中做到这一点

MathJax.Hub.Config({TeX: {Macros: { ''_': ['_'] }}, /* rest of config here... */ });

为了在Katex中做到这一点,我将katex_config.js更改为:

module.exports = {
  macros: { '''_': '_' }
}