Допустим, я редактирую латекс в режиме латекса Auctex, и у меня есть следующее уравнение.
Это просто с отступом indent-region
.
\begin{align}
\phi & = a + b
+ c + d \\
& = a + b
+ c + d + e
\end{align}
Вышеупомянутое выравнивание - то, что я получаю, если я выбираю все и нажимаю TAB
, то есть, если я просто использую indent-region
.
Я хотел бы получить следующее:
обратите внимание, как + c + d
текст выравнивается по тексту после &. Это было бы наиболее разумно, поскольку они + c + d
являются частью того же «столбца», что и = a + b
.
\begin{align}
\phi & = a + b
+ c + d \\
& = a + b
+ c + d + e
\end{align}
Вот что я получу, если позвоню align-current
.
\begin{align}
\phi & = a + b
+ c + d \\
& = a + b
+ c + d + e
\end{align}
Который почти добирается, но не совсем. Разница очевидна.
Кроме того, если я решу удалить \phi
, align-current
делает что-то просто странное:
\begin{align}
& = a + b
+ c + d \\
& = a + b
+ c + d + e
\end{align}
Есть ли способ, которым я могу настроить align-current
или использовать что-то еще, чтобы получить желаемый эффект?
align-regexp
и предоставить регулярное выражение символов, которые вы хотите выровнять+|=
. Возможно, вам придется убежать от некоторых из этих персонажей.[+=]
. Но это не даст именно то, что вы хотели .. это не выровняет&
вместе с+
.Ответы:
Результат, который вы хотите - это функция AUCTeX с октября 2013 года . Это еще не присутствует в текущем выпуске (11.87). Все, что вам нужно сделать, это отметить регион и нажать TAB. Посмотрите,
LaTeX-hanging-ampersand-position
как реализован отступ.источник
make install
из git repo не определяет пакет «auctex», поэтому другие пакеты не могут быть инициализированы.(require 'tex-site)
должно быть достаточно послеmake install
завершения.-pkg
файла, из его установочного каталога.Предполагая, что у вас нет пустых строк между \ begin и \ end ваших уравнений, вы можете вызвать эту функцию, когда курсор находится в любом месте в пределах области \ begin- \ end.
источник