を使用してLaTeXを作成する場合latex-mode
、テキストに「ハーフオープン間隔」を記述したいことがよくあります。たとえば、は[0,1)
、ですべての数値のセットを参照x
し0 <= x < 1
ます。
残念ながら、これらの「不均衡な区切り文字」はインデントパーサーを混乱させるようで、次のテキストが不適切にインデントされ、通常は右に移動します。
ここにドキュメントの例があります。以下のテキストは、実行後の結果C-x h M-x indent-region
です。正しい動作は、両方の段落のすべてが0スペースでインデントされることです。
\documentclass{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam volutpat
at dui et mattis. Here is a half open interval $[0,1)$. Proin
fringilla lectus nec mi tincidunt aliquet. Vestibulum fermentum eu
neque id egestas. Here is another $[1,2)$. Nullam et lectus
convallis, placerat neque non, vehicula nisi. Fusce imperdiet
dignissim ante, eget fringilla nisi.
Integer fermentum nunc eget purus molestie commodo. Integer
tristique tincidunt odio, vel rutrum diam commodo quis. Fusce a
aliquet quam. Cras suscipit est et nisl sollicitudin
iaculis. Aliquam erat volutpat. Phasellus sapien arcu, aliquet ut
hendrerit in, lobortis nec ante.
\end{document}
現在私は醜いハックでこれを回避しています:何も展開しないLaTeXマクロを定義し、このマクロの呼び出し内に「一致する」区切り文字を書き込みます。これにより、圧子が同期します。
\documentclass{article}
\newcommand{\ugh}[1]{}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam volutpat
at dui et mattis. Here is a half open interval $[0,1)$. Proin
fringilla lectus nec mi tincidunt aliquet. Vestibulum fermentum eu
neque id egestas. \ugh{(]} Now on the next line we are back in sync.
Nullam et lectus convallis, placerat neque non, vehicula nisi. Fusce
imperdiet dignissim ante, eget fringilla nisi.
\end{document}
しかし、これは本当に不愉快です。より良い解決策はありますか?
GNU Emacs 24.4.1を使用しています。