Das LaTeX-Paket scrlayer-notecolumn
Das Paket scrlayer-notecolumn nutzt KOMA-Scripts scrlayer, um bliebig
viele Notizspalten bereit zu stellen. Notizspalten ähneln den Randspalten, die
LaTeX mit Hilfe von \marginpar bereitstellt. Bei scrlayer-notecolumn
sind diese jedoch nicht auf einen Rand beschränkt, sondern können beliebig auf
der Seite definiert werden. Darüber hinaus werden Seitenumbrüche innerhalb der
Notizspalten unterstützt.
Bis KOMA-Script v3.49.3 war scrlayer-notecolumn Teil von KOMA-Script
selbst. Es ist weiterhin vom KOMA-Script-Paket scrlayer mindestens Version
3.33 abhängig. Entstanden ist das Paket als Beispiel für die
Leistungsfähigkeit des Grundkonzepts von scrlayer. Es stellt damit in erster
Linie ein Experiment oder eine Konzeptstudie dar. Ursprünglich war es nicht
für den produktiven Einsatz gedacht, hat sich allerdings für diesen als
durchaus nützlich erwiesen. Daher wurde es als eigenständiges Paket aus
KOMA-Script ausgegliedert. Der Status hat allerdings kleinere Auswirkungen auf
den Support. So ist nicht geplant, das Paket um weitere Möglichkeiten zu
erweitern. Es ist allerdings durchaus gewünscht, dass andere die Ideen aus dem
Paket aufgreifen, um erweiterte Fassungen davon zu entwickeln und bereit zu
stellen.
Das Paket wird auf Codeberg gehostet. Weitere Informationen finden Sie im CTAN-Katalogeintrag.
Verwendung
Geladen wird das Paket wie üblich per:
\usepackage[<Optionen>]{scrlayer-notecolumn}Dabei steht <Optionen> für eine oder mehrere der unter
„Optionen“ genannten Optionen. Zusätzlich werden die Optionen von
scrlayer unterstützt. Es ist also für die Angabe von Optionen für scrlayer
nicht erforderlich jenes Paket zuvor explizit selbst zu laden.
Da das Paket auf die Verwendung eines mit scrlayer definierten Seitenstils
angewiesen ist und nach dem Laden von scrlayer zunächst nur der Seitenstil
empty ein solcher Seintenstil ist, wird empfohlen, zusätzlich das
KOMA-Script-Paket scrlayer-scrpage oder das Paket
scrlayer-fancyhdr zu laden und einen von diesen
bereitgestellten Seitenstil zu nutzen. Bei scrlayer-scrpage ist das nach dem
Laden jenes Pakets automatisch der Fall.
Optionen
Wie bereits erwähnt, unterstützt scrlayer-notecolumn alle Optionen von
scrlayer. Darüber hinaus bietet es eigene Optionen:
autoclearnotecolumns- In der Voreinstellung hängt sich
scrlayer-notecolumnin\clearpage(und damit auch in (\cleardoublepage) ein, um die Ausgabe bereits angelegter aber noch nicht ausgegebener Notizen zu erzwingen. Dazu werden ggf. weitere Seiten ohne Haupttext nur mit den Notizen ausgegeben. Mit Hilfe vonautoclearnotecolumns=falsekann dies jedoch unterbunden werden. In dem Fall ist der Anwender selbst dafür verantwortlich, dass beispielsweise am Ende des Dokuments keine Notizen verloren gehen. Der Anwender muss also an passender Stelle, beispielsweise unmittelbar vor\end{document},\clearnotecolumnseinfügen. autoconvertpagestyles- Seit Version 0.4.4233 versucht
scrlayer-notecolumnautomatisch Seitenstile, die nicht mit Hilfe vonscrlayerdefiniert wurden, in Seitenstile auf Basis vonscrlayerumzudefinieren. Dies geschieht bei Auswahl des jeweiligen Seitenstils. Diese Möglichkeit ist experimentell aber gleichwohl in der Voreinstellung aktiv. Es kann mitautoconvertpagestyles=falsedeaktiviert werden. Dann werden allerdings auf den Seiten mit entsprechenden Seitenstilen keine Notizen mehr ausgegeben. Daher wird generell empfohlen, stattdessen nur Seitenstile zu verwenden, die mit Hilfe vonscrlayerdefiniert wurden. In der Voreinstellung ist das beim Stilemptyder Fall. Sehr einfach kann es mit Hilfe des KOMA-Script-Paketsscrlayer-scrpageerreicht werden. Für Anwender des Paketsfancyhdrgibt es das Paketscrlayer-fancyhdr.
Verwendung von Notizspalten
\makenote[<Name>]{<Notiz>}- Mit dieser Anweisung wird eine
<Notiz>in die Notizspalte<Name>geschrieben. Wie dies über den Umweg eine Hilfsdatei funktioniert, ist der ausführlichen Anleitung zu entnehmen. Wie das optionale Argument[<Name>]weggelassen, so wird die vordefinierte Notizspaltemarginparverwendet. Es zu beachten, dass Befehle in<Notiz>bereits am Anlegen der Notiz expandiert werden. Das kann mit\protectverhindert werden. Für sogenannte zerbrechliche Befehle, ist das unbedingt erforderlich. Befehle, die mit\NewDocumentCommandoder\DeclareRobustCommanddefiniert wurden, sind automatisch robust, werden also erst bei Ausgabe der Notiz expandiert. \makenote*[<Name>]{<Notiz>}- Durch Verwendung von
\detokenizewird verhindert, dass Anweisungen in<Notiz>expandiert werden. Dies ist in vielen Fällen wünschenswert. Werden aber beispielsweise Zähler innerhalb von<Notiz>verwendet, so kann dies dazu führen, dass statt des Wertes beim Anlegen der Notiz, der Wert bei Ausgabe der Notiz verwendet oder verändert wird. \syncwithnotecolumn[<Name>]- Es wird ein Synchronisationspunkt zwischen dem Haupttext und der Notizspalte
<Name>gesetzt. Das bedeutet, dass ggf. zusätzlicher vertikaler Abstand im Haupttext eingefügt wird. Ohne das optionale Argument erfolgt die Synchronisation mit der vordefinierten Notizspaltemarginpar. Durch Verwendung eines Synchronisationspunkts erhöht sich ggf. die Anzahl der benötigten LaTeX-Läufe. \syncwithnotecolumns[<Namensliste>]- Es wird nicht nur ein Synchronisationspunkt zwischen dem Haupttext und allen
in der
<Namensliste>angegebenen Notizspalten gesetzt, die Notizspalten werden auch untereinander synchronisiert. \clearnotecolumn[<Name>]- Die Ausgabe aller noch ausstehenden Notizen der angegebenen Notizspalte wird
erzwungen. Soweit erforderlich werden dazu auch Seiten mit leerem Haupttext,
aber mit dem Inhalt der Notizspalte ausgegeben. Auch der Inhalt anderer
Notizspalten kann dabei ausgegeben werden, soweit er auf diese Seiten
gehört. Ohne das optionale Argument werden die ausstehenden Notizen der
vordefinierten Notizspalte
marginparausgegeben. \clearnotecolumns[<Namesliste>]- Die Ausgabe aller noch ausstehenden Notizen aller in der
<Namensliste>angegebenen Notizspalten werden, wie bei\clearnotecolumnerklärt, ausgegeben. Ohne das optionale Argument werden automatisc die noch ausstehenden Notizen aller definierten Notizspalten ausgegeben.
Deklaration neuer Notizspalten
In der Voreinstellung ist nur die Notizspalte marginpar definiert. Diese ist
weitgehend Dekungsgleich mit der von \marinpar verwendeten Randspalte. Auch
\reversemarginpar und \normalmarginpar wird von ihr beachtet, allerdings
nicht pro Notiz, sondern nur pro Seite.
\DeclareNoteColumn[<Liste der Einstellungen>]{<Name>}- Es wird eine Notizpalte
<Name>entsprechend der<Liste der Einstellungen>definiert. Als Einstellungen stehenfont=<Schriftattribute>,marginpar,normalmarginpar,reversemarginpar,position=<Abstand vom linken Rand>,width=<Breite>zur Verfügung. Näheres ist der ausführlichen Anleitung zu entnehmen. \DeclareNewNoteColumn[<Liste der Einstellungen>]{<Name>}- Wie
\DeclareNoteColumnmit dem Unterschied, dass wenn bereits eine Notizspalte<Name>existiert, ein Fehler ausgegeben wird. So kann verhindert werden, dass versehentlich eine bereits existierende Notizspalte mit anderen Einstellungen versehen wird. \ProvideNoteColumn[<Liste der Einstellungen>]{<Name>}- Wie
\DeclareNoteColumnmit dem Unterschied, dass wenn bereits eine Notizspalte<Name>existiert, die neuerliche Definition ignoriert wird. \RedeclareNoteColumn[<Liste der Einstellungen>]{<Name>}- Wie
\DeclareNoteColumnmit dem Unterschied, dass nur bereits existierende Notizspalten mit neuen Einstellungen versehen werden können. Existiert noch keine Notizspalte<Name>, so wird ein Fehler ausgegeben.
Beispiel
Ein Beispiel in Deutsch steht innerhalb des Pakets im Quelltext bereit. Das resultierende PDF ist üblicherweise über die CTAN-Release (siehe oben) ebenfalls zu finden.