Q: как я могу получить "правильные" отступы в itemize
среде LaTeX auctex
?
Вот где я хотел бы быть item
в itemize
окружении:
\item
линия с отступом в два пробела относительно начала окружения- строки продолжения в элементе имеют отступ на два дополнительных пробела относительно
\item
линии
Вот что я хотел бы / ожидаю увидеть:
\begin{itemize}
\item Here's a really long item in a LaTeX itemize environment;
note how the *initial* item line is indented two spaces, and the
continuation lines are indented another two spaces.
\end{itemize}
Можно настроить начальный отступ элемента с помощью LaTeX-item-indent
переменной, которая по умолчанию имеет значение -2
. При этом по умолчанию, я получаю нежелательное поведение из \item
не отступа, но я делать получить желаемое поведение линий продолжения быть компенсированы два дополнительными пробелами:
\begin{itemize}
\item Here's a really long item in a LaTeX itemize environment;
note how the *initial* item line is *NOT* indented two spaces,
but the continuation lines are indented two spaces.
\end{itemize}
Установка LaTeX-item-indent
для 0
получает мне нужный отступ на \item
линии (два пробела), но не поймите меня вторую половину требуемого поведения продолжения линий компенсируются дополнительные два пробелами:
\begin{itemize}
\item Here's a really long item in a LaTeX itemize environment;
note how the *initial* item line is indented two spaces, but the
continuation lines are *NOT* indented an additional two spaces.
\end{itemize}
Итак: как получить оба желаемых поведения:
- начальный отступ
\item
строки два пробела, и - строки продолжения еще два пробела с отступом?
(Примечание, относящееся к такому потоку .)
LaTeX-indent-level
4. Элементы будут иметь отступ с 4 - 2 = 2, а строки продолжения будут с отступом 4 = 2 + 2. Однако это означает, что любая другая среда в файле будет иметь отступ 4 (а не 2), что может быть или не быть желательным. Я бы предпочел, чтобы они были с отступом в 2, вот где я застрял.LaTeX-indent-environment-list
и добавить пользовательскую функцию для отступа? ФункцияLaTeX-indent-tabular
может обеспечить разумную отправную точку (или, по крайней мере, разумный пример настраиваемого отступа в среде). Я просто наткнулся на эту переменную / функцию, поэтому у меня не было возможности самому разобраться в этом.Ответы:
Комментарий @ sykora о
(setq LaTeX-item-indent -2 LaTeX-indent-level 4)
почти уже есть, но это означает, что мы распространяемся и на любую другую среду. Так, например, мы бы также имели:Следующая функция строит старый (и, казалось бы, сломанный?) Фрагмент кода из Tassilo Horn . Это делает правильные отступы, в том числе для вложенных сред. Это работает для
itemize
,enumerate
иdescription
окружения, для загрузки:Я не могу не чувствовать, что есть очень простая настройка, которую мне не хватает, и это версия Rube Goldberg . Тем не менее, это работает, и это царапает зуд, который у меня был в течение многих лет .
РЕДАКТИРОВАТЬ: в ответ на комментарий @ sykora, я пересмотрел функцию, чтобы убрать жесткое кодирование.
\item
s теперь отступыLaTeX-indent-level
пробелов. Строки продолжения могут принимать значение новой переменнойLaTeX-indent-level-item-continuation
или, если вы не хотите связывать последнюю, двойное значениеLaTeX-indent-level
.Как это происходит, привязка и установка
LaTeX-indent-level-item-continuation
на 8 дает эстетически приятные результаты. Я мог бы даже переключиться на это:источник
latex.el
- т.е.(+ (LaTeX-indent-calculate-last force-type) LaTeX-item-indent))
- вносит вклад в уровень отступа.LaTeX-indent-level
или на новую переменную -LateX-item-continuation-indent
?