带参数的单个宏的 Auctex 子/上标格式

带参数的单个宏的 Auctex 子/上标格式

例如在 emacs 25.1 与 Auctex 11.90.0 中$a_\mathrm{b}$仅降低了\mathrm{b}保持不变。

显然我可以添加括号,例如$a_{\mathrm{b}},但我正在编辑现有文档,并且不想只是为了让 Auctex 正确显示而更改它们所有内容。

需要明确的是:这只是 Auctex 显示文件方式的问题.tex,生成的输出很好。

答案1

我不认为这通常可以以可靠的方式完成,问题更多地出在 TeX 方面,而不是 AUCTeX 方面。例如:

\(x_\alpha{i}\)

在这种情况下,AUCTeX 只会降低\alpha而不会降低{i},这正确地反映了输出文档的外观,因为\alpha是一个不带参数的命令。此外,David Carlisle指出如果不将它们包装在一个组中,类似的表达式_\mbox{b}也将不起作用。

输入上标和下标最安全的方法是使用语法^{...}_{...}AUCTeX 提供TeX-electric-sub-and-superscript{}在键入时_^数学模式下自动插入的选项。

对于您的具体情况,编辑其他人的代码,很遗憾地说他们应该编写更好的代码。无论如何,您可以在 Emacs init 文件中使用此代码暂时禁用上标和下标的特殊字体化:

(setq font-latex-fontify-script nil)

这样脚本就不会被提高或降低。当您回来编辑自己的文档时,请记住删除此设置 ;-)

相关内容