Discussion:
Automatischer Seitenumbruch im Inhaltsverzeichnis vor Sections
(zu alt für eine Antwort)
Fabian Schink
2009-06-03 23:32:56 UTC
Permalink
Hallo zusammen,

mittlerweile erstreckt sich mein Inhaltsverzeichnis (KOMA Artikel) über
mehr als eine Seite.

Damit ergibt sich das Problem, dass der Seitenumbruch nicht nur in der
obersten Section-Ebene, sondern auch in der Subsection- bzw.
subsubsection-Ebene möglich ist, was ich unschön finde.

Jetzt frage ich mich, ob ich dem Inhaltsverzeichnis beibringen kann, sich
*automatisch* so umzubrechen, dass Sections immer vollständig auf einer
Seite sind?

MAnuelle Lösungen habe ich gefunden (\addtocontents{toc}{\protect\newpage}
oder so ein hübsches DIng:
http://www.mrunix.de/forums/showthread.php?t=52407), automatische leider
nicht... aber genau das macht ja eigentlich den Reiz an LaTeX aus, dass
man eben nicht das LAyout hart-codiert...


Hat jemand eine Idee für mich?

Vielen Dank schonmal

Fabian
--
www.panfoto.eu
Robert Hartmann
2009-06-07 20:50:09 UTC
Permalink
Hallo Fabian,
Post by Fabian Schink
Hallo zusammen,
mittlerweile erstreckt sich mein Inhaltsverzeichnis (KOMA Artikel) über
mehr als eine Seite.
[...]
Post by Fabian Schink
Jetzt frage ich mich, ob ich dem Inhaltsverzeichnis beibringen kann,
sich *automatisch* so umzubrechen, dass Sections immer vollständig auf
einer Seite sind?
[...]
Post by Fabian Schink
Hat jemand eine Idee für mich?
Nur so als Idee:

Erstelle Counter für Gesamtanzahl der Zeilen
die im Inhaltsverzeichnis auf eine Seite passen.

Counter für chapter
Counter für section
counter für subsection etc

und irgendwie diese in einem neuen Befehl zum Eintragen
in die TOC mitbenutzen...

Weiter hab ich noch nicht gedacht.

Gruß Robert
Fabian Schink
2009-06-08 17:39:49 UTC
Permalink
Hallo Robert,

danke Dir.
Post by Robert Hartmann
Erstelle Counter für Gesamtanzahl der Zeilen
die im Inhaltsverzeichnis auf eine Seite passen.
Counter für chapter
Counter für section
counter für subsection etc
und irgendwie diese in einem neuen Befehl zum Eintragen
in die TOC mitbenutzen...
Weiter hab ich noch nicht gedacht.
Na mal schaun, ob ich da weiterdenken kann, klingt für mich grad recht
ambitioniert... soo lange bastel ich auch noch nicht mit LaTeX ;-)

ich bin doch wieder zu den manuellen llösungen übergegangen, da ich
dachte, es gäbe keine lösung... (so ganz sehe ich die auch noch nicht)
ich hab mittlerweile noch überlegt, wie ich den seitenumbruch in die
subsection-ebene bekomme... (dann könnte ich ein verkürztes
inhaltsverzeichnis nur mit sections ohne umbruch, ein ausführliches bis in
die dritte ebene mit umbruch bauen...

aber:

\addcontentsline{toc}{subsection}{\protect\newpage}
liefert bei einem texteintrag einen vernünftigen untereintrag, bei dem
seitenumruch haufenweise fehler die ich noch nicht ganz zuordnen kann...
(ich habe auch noch kein minimalbesipiel konstruiert, erstmal die
grundsätzliche frage ob der asatz gehen kann oder ob ich was am prinzip
des inhaltsverzeichnisses übersehen habe oder sonst ein paket quer
schießen muss)

der gleiche umbruchbefehl nur mit addtocontents hinzugefügt macht keine
probleme - ist aber auch im kurzen verzeichnis zu sehen. (oder kann man
addtocontents als subsection einbinden? hab dazu keine möglichkeit
gefunden...


Gruß
Fabian
--
www.panfoto.eu
Markus Kohm
2009-06-09 08:08:04 UTC
Permalink
Post by Fabian Schink
\addcontentsline{toc}{subsection}{\protect\newpage}
Damit setzt Du einen Überschrifteneintrag der Ebene subsection und dem
Inhalt \newpage in das Inhaltsverzeichnis. Das funktioniert nicht.

Du suchst vermutlich etwas wie

\newcommand*{\newpageatlongversion}{}
...
\begingroup
\let\newpageatlongversion\newpage
\tableofcontents
\endgroup
...
\addtocontents{toc}{\protect\newpageatlongversion}

BTW: KOMA-Script erlaubt im Inhaltsverzeichnis in der Voreinstellung nur
Umbrüche innerhalb einer Ebene aber nicht zwischen unterschiedlichen
Ebenen. Das ändert sich aber sofort, wenn man auf Kompatibilität zu 2.96a
oder früher zurückschaltet. Mit ein wenig internem Wissen um die
Funktionalität der dabei verwendeten Methode kann man Umbrüche nur vor
Kapiteleinträgen erlauben:

\documentclass{scrbook}
\begin{document}
\begingroup
\makeatletter
\@lowpenalty=10000
\raggedbottom
\tableofcontents
\endgroup
\chapter{Kapitel}
\makeatletter
\@whilenum\value{section}<20 \do{\section{Abschnitt}Text}
\makeatother

\chapter{Kapitel}
\makeatletter
\@whilenum\value{section}<3 \do{%
\section{Abschnitt}Text
\@whilenum\value{subsection}<8\do{\subsection{Unterabschnitt}Text}%
}

\chapter{Kapitel}
\makeatletter
\@whilenum\value{section}<3 \do{%
\section{Abschnitt}Text
\@whilenum\value{subsection}<8\do{\subsection{Unterabschnitt}Text}%
}
\makeatother

\end{document}

Wie man auf der zweiten Seite des Inhaltsverzeichnisses sieht, wird dabei
aber der zusätzliche Leerraum nicht zwingend unten auf der Seite eingefügt.
Also kommt man auch bei dieser Methode um ein paar gezielte \newpage nicht
herum.

Gruß
Markus
--
Gruppenhinweise (auch Minimalbeispiel) --> http://www.latex-einfuehrung.de
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> http://www.komascript.de
Fabian Schink
2009-06-09 10:34:25 UTC
Permalink
Markus, ich danke Dir!

Das klingt sehr nach dem was ich suche :-)

Gruß
Fabian
--
www.panfoto.eu
Loading...