NB: une grande partie de ce texte provient d'une réponse à une question qui s'est avérée être un double de cette question . Certains éléments sont suffisamment différents pour qu'il paraisse utile de les ajouter à cette question.
Le mode contour et les fonctions de pliage AUCTeX sont deux bêtes différentes qui sont censées faire globalement la même chose: masquer et afficher les parties sélectionnées du tampon.
Un élément clé de reconnaître lors de l' utilisation outline-minor-mode
est qu'il a un préfixe différent que outline-mode
(soit le mode majeur ) - précisément pour éviter les conflits clés avec des clés de mouvement, etc. Ce défaut préfixe aux maladroits à type C-c @
(bien que vous pouvez changer cela en personnalisant outline-minor-mode-prefix
). Toutes les liaisons de touches répertoriées sur ce noeud du manuel devraient toujours fonctionner, mais avec la torsion que vous remplacez le préfixe de mode majeur de C-c
par le préfixe de mode mineur de C-c @
. Par conséquent, C-c @ C-c
s'exécute hide-entry
, C-c @ C-e
s'exécute show-entry
, etc.
Pour utiliser ces fonctionnalités, vous devez activer outline-minor-mode
. Le moyen le plus simple est avec un hook de mode:
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
en changeant outline-minor-mode-prefix
Ce devrait être une chose simple à changer outline-minor-mode-prefix
(il était de retour dans la journée). Mais ce n'est pas. Ce que c'est drôle!
La docstring donne maintenant une note cryptique qui:
Touche de préfixe à utiliser pour les commandes Outline en mode mineur Outline. La valeur de cette variable est vérifiée dans le cadre du chargement du mode Plan. Après cela, la modification de la clé de préfixe nécessite de manipuler des images clés.
Oui, très utile. Curieusement, même customize
ne définit pas cette variable à temps pour éviter de "manipuler les keymaps" (bien qu'elle soit définie avec defcustom
dans le code source). La solution pratique: définissez cette variable dans votre fichier init avant de charger outline
ou tout autre élément construit à partir de celui-ci (par exemple, org-mode
).
Vous pouvez, par exemple, vouloir que le préfixe soit C-o
(ce qui signifie que vous perdez open-line
, mais vous pouvez le relier si vous le voulez vraiment). Mettre ce qui suit au début de votre fichier init fera l'affaire:
(global-unset-key "\C-o")
(setq outline-minor-mode-prefix "\C-o")
Maintenant, vous devriez pouvoir accéder à toutes les fonctionnalités du mode plan à l'aide du C-o
préfixe - C-o C-c
appeler hide-entry
, C-o C-e
appeler show-entry
, etc.
ajout de nouveaux titres de plan
En prime, vous pouvez également personnaliser les en-têtes de contour pouvant être pliés et à quels niveaux. Par exemple, j'aime pouvoir créer des «faux» en-têtes de section pour cacher le texte qui n'a pas de véritable en-tête LaTeX, mais qui est logiquement conservé au même niveau du document. Avec le code suivant, vous pouvez utiliser:
%section{a fake section}
Blah blah blah blah blah, LaTeX doesn't recognize me as a section...
\section{a real section}
Blah blah blah blah blah, LaTeX treats me as a real section
Et vous pourrez manipuler la fausse section comme n'importe quelle autre, mais LaTeX l'ignorera lorsque vous compilerez le document:
;; extra outline headers
(setq TeX-outline-extra
'(("%chapter" 1)
("%section" 2)
("%subsection" 3)
("%subsubsection" 4)
("%paragraph" 5)))
;; add font locking to the headers
(font-lock-add-keywords
'latex-mode
'(("^%\\(chapter\\|\\(sub\\|subsub\\)?section\\|paragraph\\)"
0 'font-lock-keyword-face t)
("^%chapter{\\(.*\\)}" 1 'font-latex-sectioning-1-face t)
("^%section{\\(.*\\)}" 1 'font-latex-sectioning-2-face t)
("^%subsection{\\(.*\\)}" 1 'font-latex-sectioning-3-face t)
("^%subsubsection{\\(.*\\)}" 1 'font-latex-sectioning-4-face t)
("^%paragraph{\\(.*\\)}" 1 'font-latex-sectioning-5-face t)))
outline-magic
étend les modes de contour pour utiliser le org-mode
masquage / affichage comme avec la touche de tabulation magique. En d'autres termes, vous pouvez probablement l'ajouter à votre flux de travail et faire en sorte que vos documents LaTeX se comportent davantage comme des org
documents. (Je ne l'utilise pas moi-même, je ne peux donc pas commenter la fonctionnalité.)
Les installations de pliage AUCTeX fonctionnent sur des environnements et ce qu'ils appellent (de manière confuse) des macros , plutôt que des sections. Pour utiliser cette fonctionnalité, vous devrez l'activer avec TeX-fold-mode
.
Par exemple, l' itemize
environnement , déplié, pourrait ressembler à:
\begin{itemize}
\item An item
\item Another item
\end{itemize}
L'appel TeX-fold-env
(par défaut:) C-c C-o C-e
à l'intérieur de l'environnement le replie pour ressembler à:
[itemize]
Placer le curseur quelque part à l'intérieur [itemize]
le développera temporairement à nouveau pendant que vous le modifiez, puis se repliera jusqu'à ce [itemize]
que vous déplaciez le curseur hors de l'environnement.
Par une «macro», AUCTeX signifie des choses comme \footnote{...}
. Par conséquent, appeler TeX-fold-macro
(par défaut:) C-c C-o C-m
lorsque l'intérieur \footnote{This is a footnote}
le repliera [f]
; il se développera et se contractera de manière analogue à ce qui se passe avec les environnements.
Vous pouvez utiliser les deux fonctions outline-minor-mode
de pliage et AUCTeX ensemble dans le même document: ils font des choses différentes sur différentes parties de celui-ci.