10 Apr 2008

Selbstdefinierte Seitennummerierung mit Latex

Submitted by blizzz

Zur Zeit erstelle ich eine Latex Vorlage für Projektarbeiten an meinem Studienort. Eine formale Anforderung ist dabei eine Seitennummerierung a la A1...Zn für Vorlagen. Sprich, Anlage A ist nummeriert mit A 1 bis z.B. A 5, Anlage B wieder mit B 1 bis B 3 etc. pp. Mit Bordmitteln lassen sich aber lediglich arabische und römische Zahlen darstellen, sowie Buchstaben nach Alphabet. Letztere beiden Methoden in Groß- wie Kleinschreibung.

Googlen hat mir nicht wirklich weiter geholfen. Via "fancy" war es möglich die Seitenzahlen so zu formatieren, aber im Inhaltsverzeichnis wurden diese nicht korrekt angezeigt. Außerdem wurden diese als Fußzeilen gesetzt, was auch nicht so schön ist. Also kam nur Eigenbau in Frage.

Dafür definiere ich zunächst zwei neue Funktionen, die später im Appendix-Umfeld aufgerufen werden. Die erste Funktion redefiniert das Kommando \thepage, mit dem die Seitenzahl abgefragt wird. Das gewünschte Muster wird dort eingetragen. Für diesen Zweck muss man wissen, dass im Appendix-Umfeld die Chapter-Nummerierung von Latex zurückgesetzt wird, da diese standardmäßig als große Buchstaben durchgezählt werden. Diesem kann man sich bedienen. Dazu folgt ein Leerzeichen und die aktuelle Seitenzahl. \newpage ist ferner nötig, damit die Nummerierung direkt übernommen wird.:

\newcommand{\initAnhang}{
    \renewcommand{\thepage}{\Alph{chapter}\ \arabic{page}}
    \newpage
}

Dann brauchen wir ein Kommando, welches bei jedem neuen Anhang aufgerufen wird. Ich binde diese per \input aus einer externen Datei ein. Ich weiß allerdings nicht, wie ich \input verändern oder erben kann, ohne das zu zerschießen, also habe ich mir \anhang angelegt, als Parameter erhält er die Datei mit. In der Funktion wird der Seitenzähler auf 1 gesetzt (da der Anhang der letzte Bereich im Dokument ist, muss ich den Stand aus dem Inhalsteil nicht speichern). Dann wird \input mit dem erhaltenen Parameter aufgerufen und anschließend auch wieder \newpage, sonst geht die Formatierung auf der letzten Seite flöten.

\newcommand{\anhang}[1]{
    \setcounter{page}{1}
    \input{#1}
    \newpage
}

Die Initialisierung und die Einbindung der Anhänge ist dann simpel:

\begin{appendix}
    \initAnhang 
    \anhang{Anhang1.tex}
    \anhang{Anhang2.tex}
\end{appendix}

Voila, die Seitenzahlen sind wie gewünscht, auch im Inhaltsverzeichnis: (Beide Anhänge Anhang zu nennen ist wohl nicht sonderlich kreativ fällt mir grad auf...)

Tags: 

Comments

Perfekt so sollte es aussehen! Herzlichen Dank! In der zweiten Zeile der ersten Neudefintion muss es, glaube ich, \renewcommand heißen. Carsten

Du hast recht, da hat sich wohl ein Fehlerteufel eingeschlichen. *Korrigier* Danke auch :)

nach stunden des erfolglosen versuchens.... das hat mir echt weitergeholfen

Hallo, leider klappt das bei mir nicht so ganz. Das A macht er, allerdings ist die Zahl dahinter dann die Seitenzahl, bei der das Dokument gerade ist. Woran kann das liegen? Habe den Code 1:1 kopiert. Viele Grüße, P.

Habe nun nach dem \initAnhang nochmals \setcounter{page}{1} eingefügt und jetzt gehts :)

Sehr coole Sache, danke!!

Vielen Dank für den Code! Hatte einen langen Anhang mit römischen Zahlen, die mein Diss-Gutachter zu unverständlich fand. Habe mich nun auch für die Buchstaben mit arabischen Zahlen-Kombination entschieden und ich denke, das Problem der Lesbarkeit sollte nun behoben sein :-)

Sehr schöne Beschreibung. Allerdings habe ich ein Problem mit makeindex. Ich habe den Befehl so umdefiniert, dass ich Seitennummerierungen wie 2 2a 2b 3 verwenden kann. Das klappt wunderbar, nur in makeindex werden sie ignoriert^^ Hat da vielleicht jemand eine Idee woran das liegen könnte? ;-) Viele Grüße, SiMoeBoe

Add new comment