Q: есть ли способ определить, находится ли точка в математической среде LaTeX?
Как бы один определить , какую точка или нет в математике среды LaTeX, будь очерчены рядного на $...$
или названные среды ( equation
, displaymath
и т.д.)?
Функция, 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
.