vscode-markdown icon indicating copy to clipboard operation
vscode-markdown copied to clipboard

KaTeX macro 支持 optional argument 吗

Open dualer opened this issue 3 years ago • 4 comments

Proposal

由于 KaTeX 现在不支持 LaTeX physics 宏包, 我想在 markdown.extension.katex.macros 中自己定义一些命令, 例如 \pdv 函数, 使得下面的代码:

\pdv{}{t}
\pdv[2]{}{t}

分别生成:

\frac{\partial}{\partial t}
\frac{\partial^2}{\partial t^2}

请问能实现这个功能吗?

不过, KaTeX 现在似乎还不支持该功能. https://github.com/KaTeX/KaTeX/issues/2228

Balthild 制作的 katex-physics 包也许会有帮助. https://github.com/balthild/katex-physics


由于 MathJax 支持 physics 这些常用的包, 以及很多额外的特性, 所以是否能考虑支持 MathJax?


另外, 现在似乎没有支持下面这种 KaTeX 功能:

Define macro by gdef in KaTeX

来自 https://katex.org/docs/supported.html#macros

References

dualer avatar Jul 03 '21 06:07 dualer

现阶段建议尝试 Markdown Preview Enhanced。他们的处理似乎还不错。


从用法上讲,KaTeX 是 SSR,MathJax 是 CSR。虽然文档说也都支持另外一种调用方法,但似乎存在一些毛病,我还没有深入研究。

参看 #531

Lemmingh avatar Jul 03 '21 06:07 Lemmingh

至于 \gdef,出于安全考虑,你需要在 markdown.extension.katex.macros 中随便搁点东西才能用。

Lemmingh avatar Jul 03 '21 06:07 Lemmingh

至于 \gdef,出于安全考虑,你需要在 markdown.extension.katex.macros 中随便搁点东西才能用。

可以这么替代上面 \gdef 的功能:

"\\test": "{#1^#2}"

然后用\test{a}{b}即可得到$a^b$.

dualer avatar Jul 03 '21 07:07 dualer

至于 \gdef,出于安全考虑,你需要在 markdown.extension.katex.macros 中随便搁点东西才能用。

只是那个可选参数, 好像确实没办法

dualer avatar Jul 03 '21 07:07 dualer