Beim Bearbeiten von Organisationsdateien finde ich es äußerst praktisch, wie Sie Überschriften und deren Inhalt ausblenden und anzeigen können, indem Sie einfach TAB
auf die Überschrift klicken.
Betrachten Sie beispielsweise den folgenden Puffer
* Headline 1
Some text here.
* Headline 2
Some more text here.
Wenn ich den Punkt auf den ersten platziere *
und drücke TAB
, erhalte ich Folgendes:
* Headline 1...
* Headline 2
Some more text here.
Gibt es eine Möglichkeit, dies mit LaTeX-Abschnitten zu erreichen?
dh, wie kann ich den Inhalt eines LaTeX-Abschnitts / Kapitels / usw. ausblenden und anzeigen, während der Titel sichtbar bleibt? Ich verwende AucTeX für den LaTeX-Modus, aber ich habe nichts gefunden, was diese Rolle zu erfüllen scheint.
latex
code-folding
Malabarba
quelle
quelle
Antworten:
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.
outline-minor-mode
Ein Schlüsselelement, das bei der Verwendung erkannt werden muss,
outline-minor-mode
ist, dass es einen anderen Präfixschlüssel hat alsoutline-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 anfertigenoutline-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äfixC-c
mit dem kleineren Modus PräfixC-c @
. DaherC-c @ C-c
läufthide-entry
,C-c @ C-e
läuftshow-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:Ä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:
Ja, sehr hilfreich. Seltsamerweise setzt even
customize
diese Variable nicht rechtzeitig, um das "Manipulieren von Keymaps" zu vermeiden (obwohl diesdefcustom
im Quellcode definiert ist). Das praktische Umgehen: Setzen Sie diese Variable in Ihrer Init-Datei, bevor Sie sie ladenoutline
oder etwas anderes, das daraus aufgebaut ist (zorg-mode
. B. ).Sie möchten möglicherweise beispielsweise das Präfix
C-o
(was bedeutet, dass Sie verlierenopen-line
, aber Sie können es erneut binden, wenn Sie es wirklich wollen). Wenn Sie in Ihrer Init-Datei Folgendes eingeben, reicht das aus: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:
Und Sie können den gefälschten Bereich wie jeden anderen manipulieren, aber LaTeX ignoriert ihn, wenn Sie das Dokument kompilieren:
outline-magic
outline-magic
Erweitert die Gliederungsmodi auf dasorg-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 wieorg
Dokumente verhalten . (Ich benutze es nicht selbst, kann mich also nicht zur Funktionalität äußern.)AUCTeX-Falzmöglichkeiten
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:Das Aufrufen
TeX-fold-env
(Standard:)C-c C-o C-e
innerhalb der Umgebung faltet es so zusammen, dass es wie folgt aussieht: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 alsoTeX-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.quelle
TAB
, und dies könnte wahrscheinlich für AUCTeX funktionieren. Das Zusammenfalten von Makros mitTAB
wäre meiner Meinung nach ärgerlich (es wäre vergleichbar mit dem Zusammenfalten von Inline-Markdown-Spezifikationen ...).outline-minor-mode
sollte sofort mit AUCTeX funktionieren : gnu.org/software/auctex/manual/auctex/Outline.html . Das heißt, bis Sie beginnen, neue Überschriftenmakros in LaTeX zu definieren ...Was Sie wollen, heißt Falten, und es gibt zwei Möglichkeiten, wie Sie das tun können.
Outline-Minor-Modus
Dies ist ein eingebauter Nebenmodus, der genau das ist, was der Organisationsmodus zum Ausblenden und Anzeigen seiner Überschriften verwendet. Sie können es sicher immer eingeschaltet in
latex-mode
mitDie von ihr definierten Tastenkombinationen sind etwas schwierig zu verwenden, daher möchten Sie möglicherweise einige davon ändern.
Latex-Extra
Latex-Extra ist ein Nebenmodus, der für Melpa und Melpa-Stable verfügbar ist. Sie können es mit installieren und mit
M-x package-install RET latex-extra
einschaltenEs fügt eine Reihe von Bequemlichkeiten hinzu
latex-mode
, eine davon ist das Falten von Abschnitten.latex-extra
wird auchoutline-minor-mode
hinter den Kulissen verwendet, hat jedoch den Vorteil, dass es das Verhalten von org-mode genauer nachahmt (wenn auch nicht identisch).Aus seiner Readme :
quelle