P: Jak mogę uzyskać „prawidłowe” wcięcie w itemize
środowiskach LaTeX auctex
?
Oto, gdzie chciałbym być item
w itemize
środowisku:
\item
linia jest wcięta o dwie spacje względem początku środowiska- linie kontynuacji w elemencie są wcięte o dodatkowe dwa spacje względem
\item
linii
Oto, co chciałbym / oczekuję:
\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}
Początkowe wcięcie elementu można dostosować za pomocą LaTeX-item-indent
zmiennej, która domyślnie jest ustawiona na -2
. Dzięki tej Domyślnie pojawia się niepożądane zachowanie tego \item
nie jest wcięty, ale zrobić uzyskać pożądany zachowanie linii uzupełniających są przesunięte o kolejne dwa miejsca:
\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}
Ustawianie LaTeX-item-indent
się 0
dostaje mi żądaną wcięcia na \item
linii (dwie spacje), ale czy nie dać mi drugą połowę pożądanego zachowania linii uzupełniających są przesunięte o kolejne dwa miejsca:
\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}
Więc: jak uzyskać oba pożądane zachowania:
- początkowe wcięcie
\item
wiersza dwie spacje oraz - linie kontynuacji wcięte dodatkowe dwa spacje?
(Uwaga Powiązany wątek SO .)
indentation
latex
auctex
Dan
źródło
źródło
LaTeX-indent-level
na 4. Elementy zostaną wcięte na 4 - 2 = 2, a linie kontynuacji zostaną wcięte na 4 = 2 + 2. Oznacza to jednak, że każde inne środowisko w pliku będzie wcięte na 4 (a nie 2), co może, ale nie musi być pożądane. Wolałbym, żeby były wcięte na 2 same, i właśnie tam utknąłem.LaTeX-indent-environment-list
i dodać niestandardową funkcję wcięcia? Ta funkcjaLaTeX-indent-tabular
może stanowić rozsądny punkt początkowy (lub przynajmniej rozsądny przykład niestandardowego wcięcia w środowisku). Właśnie natknąłem się na tę zmienną / funkcję, więc sam nie miałem okazji się jej przyjrzeć.Odpowiedzi:
Komentarz @ sykora na ten temat
(setq LaTeX-item-indent -2 LaTeX-indent-level 4)
jest już prawie gotowy, ale oznacza to, że przeniknęliśmy także do każdego innego środowiska. Na przykład mielibyśmy również:Poniższa funkcja opiera się na starym (i pozornie zepsutym?) Fragmencie kodu z Tassilo Horn . Poprawne wcięcie, w tym dla środowisk zagnieżdżonych. To działa na
itemize
,enumerate
idescription
środowiskach, do bagażnika:Nie mogę się oprzeć wrażeniu, że brakuje mi bardzo prostego ustawienia i jest to wersja Rube Goldberg . Mimo to działa i drapie mnie od lat .
EDYCJA: w odpowiedzi na komentarz @ sykora zmieniłem funkcję usuwania twardego kodu.
\item
s są teraz wciętymiLaTeX-indent-level
spacjami. Linie kontynuacji mogą przyjmować wartość nowej zmiennejLaTeX-indent-level-item-continuation
lub, jeśli nie chcesz wiązać tej ostatniej, dwukrotność wartościLaTeX-indent-level
.Tak się składa, że wiązanie i ustawienie
LaTeX-indent-level-item-continuation
na 8 daje estetyczne rezultaty. Mógłbym nawet przejść na to:źródło
latex.el
- tj.(+ (LaTeX-indent-calculate-last force-type) LaTeX-item-indent))
- przyczynia się do poziomu wcięcia.LaTeX-indent-level
lub nową zmienną -LateX-item-continuation-indent
?