Sie sind hier

Anhangsverzeichnis mit (kleinen) Sonderwünschen

Hallo

ich möchte ein Anhangsverzeichnis für meine Dissertation erstellen und bin auf diesen Foreneintrag gestoßen. Alles funktioniert ausgezeichnet (inklusive der Erweiterung von 'Goulemac'), nur dass ich offenbar wieder einen neuen Sonderfall in meiner Arbeit habe.

Zur Verbesserung der Gliederung des Inhaltsverzeichnisses habe ich an einigen Stellen des Dokuments folgende Zeilen hinzugefügt (fügt einen Seitenumbruch ins Inhaltsverzeichnis ein).

\addtocontents{toc}{\protect\newpage}

Das Hauptinhaltsverzeichnis sieht damit auch wie gewünscht aus, allerdings übernimmt die Erweiterung des oben genannten Foreneintrags diese Seitenumbrüche auch, sodass nach der Überschrift "Verzeichnis der Anhänge" erst ein Seitenumbruch kommt und anschließend auf der nächsten Seite der eigentliche Inhalt des Anhangs aufgeführt wird.

Gibt es eine Möglichkeit, wie dieses Verhalten verhindert werden kann, die Seitenumbrüche also nur im ersten Inhaltsverzeichnis interpretiert werden?

Viele Grüße, Tim

P.S: Wenn ich die '\newpage' Befehle auskommentiere, funktioniert alles wunderbar, allerdings würde ich nur ungern darauf verzichten, da mein Hauptverzeichnis mit dem normalen Seitenumbruch doch *etwas* übel aussieht.

Im Grunde kannst du doch etwa den gleichen Ansatz wie zum dynamischen anpassen von tocdepth verwenden: Definiere eine neue Anweisung für dein

\addtocontents{toc}{\protect\newpage}

und rufe die statt dessen auf. Bevor du in \appendixtoc dein Verzeichnis ausgibts definierst du deine neue Anweisung wieder um, sodass sie nichts ausgibt.

Also etwa so:

...
\usepackage{blindtext}

\newcommand*{\maintocnewpage}{
\addtocontents{toc}{\protect\newpage}
}

\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
...

\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
  ...
    \renewcommand*{\maintocnewpage}{}
    \tableofcontents% Verzeichnis ausgeben
    ...
}

Wie gesagt: ich hab es nicht ausprobiert. Aber vielleicht bringt es dich ja auf den richtigen Weg...

Hallo

Vielen Dank, ich dachte schon, es hat niemand einen Rat. Das Codebeispiel von Markus Kohm hatte ich irgendwie als 'gott-gegeben' und unveränderlich empfunden und mich erst gerade hingesetzt und aufgrund Deiner Idee versucht da einzugreifen bzw. es abzuwandeln. Was soll ich sagen, es hat funktioniert.

Daraufhin habe ich das Ganze noch etwas aufgebohrt, sodass man nun zwei Arten von Zeilenumbrüchen machen kann. Einmal einen Zeilenumbruch im Haupt-Inhaltsverzeichnis (maintoc) und einmal Zeilenumbrüche im Anhangs-Inhaltsverzeichnis (appendixtoc).

Da bereits einiges gegenüber der Basisversion verändert wurde, habe ich ein neues Beispiel gebastelt, was alles wichtige beinhaltet.

In meinem Dokument hat das Hinzufügen des \phantomsection Befehls geholfen, die Verlinkung innerhalb des PDFs zu korrigieren. In diesem Beispiel hat es jedoch nur zu Fehlern geführt und daher habe ich diesen Befehl wieder entfernt.

Vielen Dank für die Hilfe,
Tim

\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand*{\makenewpageinmaintoc}{\newpage}%Seitenumbruch im Inhaltsverzeichnis
\newcommand*{\makenewpageinappendixtoc}{}   %erst mal keinen Seitenumbruch

\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
  \begingroup
    \@fileswfalse% kein neues Verzeichnis öffnen
    \renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
      \value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
    }%
    \tableofcontents% Verzeichnis ausgeben
  \endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
  \begingroup
    \edef\@alltocdepth{\the\value{tocdepth}}% tocdepth merken
    \setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
    \renewcommand*{\contentsname}{% Verzeichnisname ändern
      Verzeichnis der Anh\"ange}%
    \renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
      \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
    }%
    \renewcommand*{\makenewpageinmaintoc}{}%keine neue Seite
    \renewcommand*{\makenewpageinappendixtoc}{\newpage}%Einschalten des Seitenumbruchs
    \tableofcontents% Verzeichnis ausgeben
    \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
  \endgroup
}
\newcommand*{\appendixattoc}{}% Trennanweisung im Inhaltsverzeichnis
\g@addto@macro\appendix{% \appendix erweitern
  \if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
  \addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
  \addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
}
\makeatother

\begin{document}

\maintoc

\blinddocument
\addtocontents{toc}{\protect\makenewpageinmaintoc}
\blinddocument

\appendix
\appendixtoc

\blinddocument
\addtocontents{toc}{\protect\makenewpageinappendixtoc}
\blinddocument

\end{document}

Freut mich, dass die Idee gepasst hat...

Comments for "Anhangsverzeichnis mit (kleinen) Sonderwünschen" abonnieren