як виявити, якщо всередині математики LaTeX середовище?


12

Питання: чи існує спосіб виявити, чи точка знаходиться всередині математичного середовища 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початок абзацу.

Попередження від docstring:

Функції передбачають, що у вас є (майже) синтаксично правильний (La) TeX у буфері.

Він знає про всі середовища, про які AUCTeXвідомо (наприклад, для блокування шрифту), і ви можете додати більше за допомогою змінної texmathp-tex-commands.


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

Самореклама - це думка при обміні корисною та відповідною інформацією :)
Шон Аллред
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.