как обнаружить, если внутри математической среды LaTeX?


12

Q: есть ли способ определить, находится ли точка в математической среде LaTeX?

Как бы один определить , какую точка или нет в математике среды LaTeX, будь очерчены рядного на $...$или названные среды ( equation, displaymathи т.д.)?

Ответы:


10

Функция, texmathpопределенная в AUCTeX (автозагрузка из texmathp), делает именно это (хорошо, на самом деле она делает немного больше).

В интерактивном режиме он даст вам больше информации, в том числе о том, находится ли точка в математической конструкции.

Используется в elisp, это будет, tесли в математике, в nilпротивном случае. Дополнительные части информации затем сохраняются в переменной texmathp-why.

Когда texmathpвозвращается t, это минус (MATCH . POSITION), где MATCHстрока, содержащая команду TeX или имя среды, которая запускает математический режим, и POSITIONпозиция, в которой эта строка была найдена в буфере. MATCHэто что - то вроде "$", "$$", "\\(", "\\[" "\\ensuremath", "displaymath", "equation", ... Когда texmathpвозвращается nil, переменная texmathp-whyнаходится (nil . pos)где posначало абзаца.

Предупреждение от строки документации:

Функция предполагает, что у вас есть (почти) синтаксически правильный (La) TeX в буфере.

Он знает обо всех известных средах AUCTeX(например, для блокировки шрифтов), и вы можете добавить больше, используя переменную texmathp-tex-commands.


Также обратите внимание, что (бесстыдное самореклама впереди) эта команда очень удобна, когда смешивается с регулярными выражениями emacs: tex.stackexchange.com/a/91175/9517
Т. Веррон,

Самореклама - это запоздалая мысль при обмене полезной и актуальной информацией :)
Шон Оллред
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.