NB: Ein Großteil dieses Textes stammt von einer Antwort auf eine Frage, die sich als Duplikat dieser Frage herausstellte . Ein Teil des Materials ist so unterschiedlich, dass es sich gelohnt hat, es dieser Frage hinzuzufügen.
Der Umrissmodus und die AUCTeX- Falteinrichtungen sind zwei verschiedene Bestien, die im Großen und Ganzen dasselbe tun sollen: Ausgewählte Teile des Puffers ein- und ausblenden.
Ein Schlüsselelement, das bei der Verwendung erkannt werden muss, outline-minor-mode
ist, dass es einen anderen Präfixschlüssel hat als outline-mode
(dh den Hauptmodus ) - genau, um Schlüsselkonflikte mit Bewegungstasten usw. zu vermeiden. Dieser Präfix ist standardmäßig der Typ "umständlich" C-c @
(obwohl Sie dies können) ändern Sie das, indem Sie besonders anfertigen outline-minor-mode-prefix
). Alle die Tastenbelegungen auf aufgelistet diesem Knoten des Handbuch soll noch arbeiten, aber mit dem Drall , dass Sie den ersetzen Hauptmodus Präfix C-c
mit dem kleineren Modus Präfix C-c @
. Daher C-c @ C-c
läuft hide-entry
, C-c @ C-e
läuft show-entry
und so weiter.
Um diese Funktionen nutzen zu können, müssen Sie aktivieren outline-minor-mode
. Der einfachste Weg ist mit einem Mode-Hook:
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
Ändern outline-minor-mode-prefix
Es sollte einfach zu ändern sein outline-minor-mode-prefix
( früher war es wieder so). Aber es ist nicht. Was für ein Spaß!
Der Docstring gibt nun eine kryptische Notiz aus, die:
Präfixschlüssel für Gliederungsbefehle im Nebenmodus "Gliederung". Der Wert dieser Variablen wird beim Laden des Gliederungsmodus überprüft. Danach müssen Sie zum Ändern des Präfixschlüssels die Keymaps bearbeiten.
Ja, sehr hilfreich. Seltsamerweise setzt even customize
diese Variable nicht rechtzeitig, um das "Manipulieren von Keymaps" zu vermeiden (obwohl dies defcustom
im Quellcode definiert ist). Das praktische Umgehen: Setzen Sie diese Variable in Ihrer Init-Datei, bevor Sie sie laden outline
oder etwas anderes, das daraus aufgebaut ist (z org-mode
. B. ).
Sie möchten möglicherweise beispielsweise das Präfix C-o
(was bedeutet, dass Sie verlieren open-line
, aber Sie können es erneut binden, wenn Sie es wirklich wollen). Wenn Sie in Ihrer Init-Datei Folgendes eingeben, reicht das aus:
(global-unset-key "\C-o")
(setq outline-minor-mode-prefix "\C-o")
Jetzt sollten Sie in der Lage sein, mit dem C-o
Präfix " C-o C-c
Anrufen" hide-entry
, " C-o C-e
Anrufen" show-entry
usw. auf alle Funktionen des Gliederungsmodus zuzugreifen .
Hinzufügen neuer Gliederungsüberschriften
Als zusätzlichen Bonus können Sie auch anpassen, welche Gliederungsüberschriften gefaltet werden können und auf welche Ebenen. Ich möchte zum Beispiel in der Lage sein, gefälschte Abschnittsüberschriften zu erstellen, um Text auszublenden, der keinen echten LaTeX-Header hat, aber logischerweise auf derselben Ebene des Dokuments bleibt. Mit dem folgenden Code können Sie Folgendes verwenden:
%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
Und Sie können den gefälschten Bereich wie jeden anderen manipulieren, aber LaTeX ignoriert ihn, wenn Sie das Dokument kompilieren:
;; 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
Erweitert die Gliederungsmodi auf das org-mode
Anzeigen / Verbergen mit der magischen Tabulatortaste. Mit anderen Worten, Sie können dies wahrscheinlich zu Ihrem Workflow hinzufügen und Ihre LaTeX-Dokumente eher wie org
Dokumente verhalten . (Ich benutze es nicht selbst, kann mich also nicht zur Funktionalität äußern.)
Die Falteinrichtungen von AUCTeX funktionieren in Umgebungen und (verwirrenderweise) in Form von Makros anstelle von Abschnitten. Um diese Funktionalität nutzen zu können, müssen Sie sie mit aktivieren TeX-fold-mode
.
Die itemize
Umgebung könnte beispielsweise wie folgt aussehen:
\begin{itemize}
\item An item
\item Another item
\end{itemize}
Das Aufrufen TeX-fold-env
(Standard:) C-c C-o C-e
innerhalb der Umgebung faltet es so zusammen, dass es wie folgt aussieht:
[itemize]
Wenn Sie den Cursor an einer anderen Stelle platzieren, [itemize]
wird er beim Bearbeiten vorübergehend wieder erweitert und nach unten geklappt, [itemize]
wenn Sie den Cursor aus der Umgebung bewegen.
Mit einem "Makro" bedeutet AUCTeX Dinge wie \footnote{...}
. Wenn Sie also TeX-fold-macro
(default:) C-c C-o C-m
when inside aufrufen, \footnote{This is a footnote}
klappt es auf [f]
; es wird sich in analoger Weise ausdehnen und zusammenziehen, wie es mit Umgebungen geschieht.
Sie können die outline-minor-mode
Falteinrichtungen von AUCTeX und beide zusammen in einem Dokument verwenden: Sie erledigen verschiedene Aufgaben an verschiedenen Stellen.