Есть ли способ переопределить ошибки LaTeX в отношении двойных индексов и индексов? - PullRequest
4 голосов
/ 27 мая 2010

Незначительный момент о LaTeX, который беспокоит меня. Когда кто-то пишет

a^b^c, a_b_c  

или

a'^b  

в математическом режиме LaTeX выдает сообщение об ошибке с жалобами на несколько супер / подписок. Это особенно раздражает после замены строки, содержащей супер / нижний индекс или при использовании апострофа, '.

Есть ли способ переопределить ошибку и просто вывести LaTeX

a^{bc} a_{bc} {a'}^b  

и так далее?

Ответы [ 3 ]

5 голосов
/ 27 мая 2010

Вот то, что вы хотите

\catcode`\^ = 13 \def^#1{\sp{#1}{}}
\catcode`\_ = 13 \def_#1{\sb{#1}{}}
3 голосов
/ 27 мая 2010

Это один из тех случаев, когда вы действительно должны быть предупреждены и должны поставить скобки так, как вы хотите - или написать что-то без двойного подсписка / верхнего индекса, если вы это имеете в виду. Обычно, когда вы используете верхний индекс для обозначения возведения в степень, а не индексации, a^b^c = a^{b^c}, поэтому описанный вами вывод определенно неверен в некоторых случаях. Конечно, если они являются индексами верхнего индекса, вы можете иметь в виду a^{bc}, но как LaTeX узнать? А для подписчиков, что если вы действительно имеете в виду a_{n_k}, а не a_{nk}? (то есть двойное индексирование против последовательности индексов)

(И, конечно, если это происходит как часть замены, вы, вероятно, можете найти способ исправить это как часть замены.)

1 голос
/ 14 июля 2018

В то время как ответ Алексея должен быть принят - он делает именно то, что хочет автор - позвольте мне заметить, что есть и латексные пакеты, делающие именно это, в частности, пакет Tensor может сделать это:

Screenshot from the tensor package documentation

Вы пишете \Gamma\indices{^\mu_{\nu\rho}} для первого примера. Напротив, с ответом Алексея вы просто можете написать \Gamma^\mu_{\nu\rho}, что явно короче. Однако переопределение catcode символов ^ и _ прервет любое вхождение этих символов в обычный текст , что раздражает, особенно вне математического режима.

...