Q: comment obtenir une indentation "correcte" des itemize
environnements LaTeX dans auctex
?
Voici où j'aimerais être avec un item
dans un itemize
environnement:
\item
la ligne est en retrait de deux espaces par rapport au début de l'environnement- les lignes de continuation de l'élément sont mises en retrait de deux espaces supplémentaires par rapport à la
\item
ligne
Voici ce que j'aimerais / j'attends de voir:
\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}
On peut ajuster l'indentation initiale de l'élément avec la LaTeX-item-indent
variable, qui est par défaut -2
. Avec cette valeur par défaut, je reçois le comportement indésirable du \item
pas en retrait, mais je n'obtenir le comportement souhaité des lignes de continuation étant compensée par une deux places supplémentaires:
\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}
La définition LaTeX-item-indent
de 0
me donne l'indentation souhaitée sur la \item
ligne (deux espaces dedans), mais ne me donne pas la seconde moitié du comportement souhaité des lignes de continuation étant compensée par deux autres espaces:
\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}
Alors: comment obtient-on les deux comportements souhaités:
- retrait initial de la
\item
ligne deux espaces, et - lignes de suite deux espaces supplémentaires en retrait?
(Notez le fil SO connexe .)
LaTeX-indent-level
sur 4. Les éléments seront mis en retrait sur 4 - 2 = 2 et les lignes de continuation seront mises en retrait sur 4 = 2 + 2. Cependant, cela signifie que tous les autres environnements du fichier seront mis en retrait sur 4 (et non 2), ce qui peut être souhaitable ou non. Je préfère qu'ils soient en retrait à 2 eux-mêmes, c'est là que je suis coincé.LaTeX-indent-environment-list
et d'ajouter une fonction personnalisée pour l'indentation? La fonctionLaTeX-indent-tabular
peut fournir un point de départ raisonnable (ou au moins un exemple raisonnable d'indentation personnalisée dans un environnement). Je suis juste tombé sur cette variable / fonction, donc je n'ai pas eu l'occasion de l'examiner moi-même.Réponses:
Le commentaire de @ sykora sur
(setq LaTeX-item-indent -2 LaTeX-indent-level 4)
est presque là, mais cela signifie que nous débordons également sur tous les autres environnements. Ainsi, par exemple, nous aurions également:La fonction suivante s'appuie sur un ancien extrait de code (et apparemment cassé?) De Tassilo Horn . Il obtient l'indentation correcte, y compris pour les environnements imbriqués. Cela fonctionne pour
itemize
,enumerate
et lesdescription
environnements, pour démarrer:Je ne peux pas m'empêcher de penser qu'il y a un paramètre très simple qui me manque et c'est la version Rube Goldberg . Pourtant, cela fonctionne, et ça gratte une démangeaison que j'ai depuis des années .
EDIT: en réponse au commentaire de @ sykora, j'ai révisé la fonction pour supprimer le codage dur.
\item
s sont maintenant desLaTeX-indent-level
espaces en retrait . Les lignes de suite peuvent prendre la valeur d'une nouvelle variable,LaTeX-indent-level-item-continuation
ou, si vous ne voulez pas lier cette dernière, deux fois la valeur deLaTeX-indent-level
.En l'occurrence, la reliure et la mise
LaTeX-indent-level-item-continuation
à 8 donnent des résultats esthétiquement agréables. Je pourrais même y passer:la source
latex.el
- c'est-à-dire(+ (LaTeX-indent-calculate-last force-type) LaTeX-item-indent))
- contribue au niveau de retrait.LaTeX-indent-level
ou une nouvelle variable -LateX-item-continuation-indent
?