如何检测是否在LaTeX数学环境中?


12

问:有没有一种方法可以检测点是否在LaTeX数学环境中?

如何将一个检测点是否是或不是一个LaTeX的数学环境中,无论是通过在线划定$...$或名为环境(equationdisplaymath,等)?

Answers:


10

texmathpAUCTeX中定义的功能(从自动加载texmathp)可以做到这一点(好吧,实际上它还有更多功能)。

以交互方式使用,它将为您提供更多信息,包括该点是否在数学构造中。

在elisp中使用tnil否则在数学中使用。然后将其他信息存储在变量中texmathp-why

texmathpreturn时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
T. Verron 2014年

自我分享是分享有用和相关信息时的事后思考:)
肖恩·阿雷德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.