Коли я пишу 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.