Есть ли способ переопределить ошибки латекса о двойных подсказках и суперскрипетах?
-
05-10-2019 - |
Вопрос
Незначительная монт на латекс, который беспокоит меня. Когда один пишет
a^b^c, a_b_c
или
a'^b
В Math Mode LaTex дает сообщение об ошибке, жалуясь на несколько супер / подписку. Это особенно раздражает после замены строки, содержащей супер / индекс или при использовании апострофы, '
.
Есть ли способ переопределить ошибку и иметь латекс просто выводить
a^{bc} a_{bc} {a'}^b
и так далее?
Решение
Ниже приведено то, что вы хотите
\catcode`\^ = 13 \def^#1{\sp{#1}{}}
\catcode`\_ = 13 \def_#1{\sb{#1}{}}
Другие советы
Это одна из тех случаев, когда вы действительно должны быть предупреждены, и придется размещать брекеты, как вы хотите, чтобы они их хотели - или написать что-то без двойного суб / суперска, если это то, что вы имеете в виду. Как правило, когда вы используете SuperScript, чтобы указать Экспонцию, не индексацию, a^b^c = a^{b^c}
, Таким образом, вывод вы описываете, определенно неверно в некоторых случаях. Уверен, если они индексы Superscript, вы можете означать a^{bc}
, но как латекс узнает? И для подписку, что, если вы действительно имеете в виду a_{n_k}
, нет a_{nk}
? (То есть двойная индексация против последовательности индексов)
(И, конечно же, если это посевы в составе замены, вы, вероятно, можете понять способ исправить его как часть замены.)
Пока Alexeys отвечает должен быть acceppted один - это именно то, что хочет автор - позвольте мне отметить, что есть также пакеты латексных пакетов, которые имеются именно это, что, в частности, Тензорная пакет могу сделать это:
Ты пишешь \Gamma\indices{^\mu_{\nu\rho}}
Для первого примера. По сравнению с Alexeys отвечает Вы просто можете написать \Gamma^\mu_{\nu\rho}
который очевидно короче. Однако коткод переопределения ^
а также _
персонажи сломает любое возникновение этих персонажей в обычный текст который раздражает особенно за пределами математического режима.