关于困扰我的LaTeX的一点点。当一个人写
a^b^c, a_b_c
或
a'^b
在数学模式下,LaTeX会发出错误消息,抱怨多个超级/下标。替换包含super /下标的字符串或使用撇号'
后,这尤其令人讨厌。
有没有办法覆盖错误并让LaTeX简单输出
a^{bc} a_{bc} {a'}^b
等等?
答案 0 :(得分:5)
以下是您的意愿
\catcode`\^ = 13 \def^#1{\sp{#1}{}}
\catcode`\_ = 13 \def_#1{\sb{#1}{}}
答案 1 :(得分:3)
这是你真正应该被警告的情况之一,并且必须按照你想要的方式放置大括号 - 或者写一些没有双子/上标的东西,如果这就是你的意思。通常,当您使用上标来表示取幂而不是索引a^b^c = a^{b^c}
时,所以您描述的输出在某些情况下肯定是不正确的。当然,如果它们是上标索引,你可能意味着a^{bc}
,但是如何知道LaTeX?对于下标,如果你真的是a_{n_k}
而不是a_{nk}
怎么办? (即,双索引与一系列索引)
(当然,如果这是替换的一部分,你可以找到一种方法来解决它作为替换的一部分。)
答案 2 :(得分:1)
虽然Alexeys answer应该是可以接受的-它确实符合作者的要求-让我注意到,还有其他的Latex软件包可以做到这一点,最著名的是Tensor package可以做到这一点:
您为第一个示例写了\Gamma\indices{^\mu_{\nu\rho}}
。相反,使用Alexeys answer,您可以编写显然更短的\Gamma^\mu_{\nu\rho}
。但是,重新定义^
和_
字符的猫码将破坏常规文本中这些字符的出现,这在数学模式之外尤其令人讨厌。