LaTeX数学環境内にあるかどうかを検出する方法は?


12

Q:ポイントがLaTeX数学環境内にあるかどうかを検出する方法はありますか?

どのように1ポイントがあるかによって、インラインを線引きするかどうか、LaTeXの数学の環境内にないかどうかを検出するであろう$...$という名前の環境(またはによりequationdisplaymathなど)?

回答:


10

texmathpAUCTeXで定義された関数(から自動ロード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正規表現と組み合わせる
T. Verron

セルフプロモーションは、有用で関連性のある情報を共有する際の再考です:)
ショーンオールレッド14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.