Bei Verwendung des Org-Modus und seines LaTeX-Exports wird häufig BibTeX oder Biblatex verwendet, um Referenzen zu behandeln. In diesem Fall ist der LaTeX-Befehl \printbibliography
oft in der Org-Datei enthalten. \printbibliography
wird in der Org-Datei gespeichert, in der LaTeX die Referenzliste ausschreiben soll. Was \printbibliography
tut, ist einen LaTeX-Header zusammen mit der Referenzliste einzufügen. In den meisten Fällen wird \printbibliography
am Ende der Organisationsdatei platziert, weil in den meisten Dokumenten die Referenzliste als letzte platziert werden soll. Dies bedeutet, dass \printbibliography
unter der letzten Überschrift in der Organisationsdatei enthalten ist, z. B.
Es bedeutet auch, dass, wenn diese Überschrift gefaltet ist, die \printbibliography
verschluckt wird:
Aber das geht gegen die Bedeutung von \printbibliography
, weil es eine eigene Überschrift in der Ausgabe enthält. Außerdem wird es verwirrend sein, wenn \printbibliography
verschluckt wird und eine neue Überschrift dahinter steht, weil dann die Referenzliste nicht mehr als letztes im Dokument erscheint.
Wie kann ich erreichen, dass \printbibliography
nicht von Sektionen im Org-Modus verschluckt wird? Eine Bonusfrage: Wie kann ich es so einrichten, dass der Org-Modus keine Überschriften nach \printbibliography
erstellt, es sei denn C-Ret wird gedrückt, wenn der Cursor dahinter steht?
Bei der Suche nach einer Lösung für dieses Problem fand ich Ссылка .
Das Folgende ist leicht getestet, funktioniert aber mit Tab und Shift-Tab, um Dinge zu verstecken und anzuzeigen. Das sind die einzigen Befehle zum Verstecken und Anzeigen, die ich verwende. Wenn Sie also andere Befehle verwenden, müssen sie möglicherweise auf andere Weise beraten oder repariert werden.
Sie können natürlich org-footer-regexp
auf alles ändern, was Sie wollen. Ich hatte gehofft, keinen Ratschlag zu gebrauchen, aber ohne org-end-of-subtree
zu beraten, wechselt die letzte Überschrift niemals mit der Tabulatortaste, weil sie denkt, dass sie nicht versteckt ist, also versteckt sie sie und dann zeigt org-cycle-hook
sie an. Es ruft org-end-of-subtree
auf, bevor org-pre-cycle-hook
ausgeführt wird, also ist das auch keine Option.
Eine Umgehungsmöglichkeit für dieses Problem besteht darin, dass \printbibliography
keine LaTeX-Überschrift zurückgibt, damit sie in eine Überschrift im Org-Modus eingefügt werden kann.
Mit biblatex kann dies erreicht werden, indem \printbibliography
mit der Option heading=none
angegeben und in eine entsprechende Überschrift eingefügt wird. Hier ist ein Beispiel:
Auf diese Weise können Referenzen in einer eigenen Überschrift gehalten werden und \printbibliography
, die von einer Überschrift verschluckt werden, sind kein Problem, da sie von einer eigenen Überschrift verschluckt werden.
Eine Lösung wäre die folgende:
%Vor%So haben Sie am Ende des Dokuments eine leere Überschrift. Das Makro wird zu einem leeren Textblock erweitert, sodass Sie mit
enden %Vor%Dies stellt auch sicher, dass Sie nicht versehentlich Überschriften nach Ihrer Bibliografie hinzufügen können, da es sich um eine eigene (leere) Überschrift handelt. Es könnte (scheint tatsächlich) in das Inhaltsverzeichnis aufgenommen werden, was bedauerlich ist, aber ich würde vermuten, dass die Lösung im schlimmsten Fall einen Post-Export ausführen würde, um die leere Überschrift aus der Datei zu entfernen (oder manuell vor der Konvertierung in PDF).
Eine andere Lösung wäre, die Bibliographie wie folgt in eine Überschrift namens "Referenzen" zu stellen:
%Vor% und entfernen Sie die \section{References}
aus der resultierenden Latexdatei, indem Sie diese zu Ihrer Emacs-Init-Datei hinzufügen
Beachten Sie, dass davon ausgegangen wird, dass Sie nur eine Überschrift mit dem Namen "References" haben, da sie alle Vorkommen davon ersetzt. Es nimmt auch an, dass die Abschnitte in diesem Format sind:
%Vor% Für andere Formate müssen Sie den regulären Ausdruck in der Funktion org-export-latex-remove-references-heading
ändern.