PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhaltsverzeichnis auf einer Seite erzwingen



Schniepi
26-02-2008, 10:39
Hallo zusammen,

ich schreibe gerade an einem Dokument mit TexnicCenter und habe ein kleines Problem. Und zwar füge ich mit \tableofcontents ein Inhaltsverzeichnis ein. Dieses wird jedoch auf 2 Seiten verteilt. Auf der zweiten Seite sind nur 3 Zeilen belegt, von daher sieht es also ziemlich blöd aus.

Kann ich irgendwie erzwingen, dass Latex das Inhaltsverzeichnis auf eine Seite macht? Genug Platz wäre auf jeden Fall da, das ganze Verzeichnis müsste eben etwas nach oben gerückt werden.

Vielen Dank schon mal im Voraus.


Hier noch meine Einstellungen:

\documentclass[11pt]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage[onehalfspacing]{setspace}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{graphicx}
\usepackage[left=3cm,right=3cm,top=2cm,bottom=3cm]{geometry}
\usepackage{caption}

Xenara
26-02-2008, 10:52
Spontaner Einfall, wenn ich deinen Header seh:
Das onehalfspacing erst nach dem Inhaltsverzeichnis aktivieren, es sei denn, das ist aufgrund deiner Vorgaben nicht möglich. Bei mir ists keinem aufgefallen ;)

Sonst könnte auch ein \enlargethispage helfen.

Schniepi
26-02-2008, 11:14
Hallo,

danke für die Antwort. Mit enlargethispage habe ich auch schon ein bisschen rumgespielt. Konnte aber überhaupt keinen Effekt erkennen. Habe vor und nach \tableofcontens geschrieben: \enlargethispage{2cm}

Keine Ahnung warum man da nichts sieht. Onehalfspacing erst nach dem Inhaltsverzeichnis aktivieren ist leider nicht möglich. Da wurde ich "festgenagelt".

Wie gesagt, in dem fertigen Dokument sind oberhalb von "Inhaltsverzeichnis" bestimmt 5 cm Platz. Wenn also das ganze einfach um einen oder 2 cm nach oben verschoben werden könnte, dann sollte das denke ich ausreichend sein.

Kennt jemand für diesen Zweck einen Befehl?

Mir ist eben aufgefallen, dass ich ja das Package "geometry" verwende, um die Margins rechts links oben und unten zu manipulieren. Gibt es eine Möglichkeit, das auch nur für eine Seite zu tun und nicht für das ganze Dokument?

Stefan_K
26-02-2008, 15:30
Hallo Schniepie,

setze \enlargethispage so ein:

\tableofcontents
\addtocontents{toc}{\protect\enlargethispage{Wert} }

Um zudem den Abstand des Inhaltsverzeichnisses nach oben zu ändern, könntest Du ggf. noch \chapterheadstartvskip redefinieren, als leeres Makro {} oder gar mit einem \vspace und negativem Wert.

Viele Grüße,

Stefan

Schniepi
26-02-2008, 15:55
Hallo Stefan K,

vielen Dank für die Antwort! Mit
\addtocontents{toc}{\protect\enlargethispage{Wert} } hat es funktioniert. Was das genau macht verstehe ich allerdings nicht. Könntest du mir da vielleicht noch auf die Sprünge helfen? Nur so aus Interesse. Habe schon mal ein bisschen gegoogelt und mit enlargethispage rumgespielt, aber es scheint bei mir gar keinen Unterschied zu machen, was ich da für einen Wert in cm eintrage. Sehr seltsam.

\chapterheadstartvskip hat übrigens nur bewirkt, dass vor dem Inhaltsverzeichnis eine Seite frei gelassen wird. War das so von dir beabsichtigt? Und \vspace mit negativem Wert hat leider auch keinen Effekt gehabt. Kann es sein, dass das geht nur wenn man sich mitten im Text befindet und nicht am Anfang des Dokuments?!

Aber auf jeden Fall vielen Dank für die Hilfe!!!

Stefan_K
26-02-2008, 16:12
Hallo Schniepie,

statt \enlargethispage direkt ins Dokument zu schreiben, wird mit obiger Zeile \enlargethispage ins toc-file geschrieben, wo die Inhaltsverzeichnis-Anweisungen stehen. Es steht ein \protect davor, damit \enlargethispage{Wert} nicht sofort expandiert wird, sondern "geschützt" ist und einfach ins toc-file geschrieben wird. Beim Einbinden des toc-files durch \tableofcontents zeigt es dann Wirkung.

Zu \chapterheadstartvskip schreibe ich mal auf, wie ich es verwenden würde, kommentiert:

% ein Makro zur Sicherung des ursprünglichen \chapterheadstartvskip deklarieren:
\newcommand*\backupvskip{}
% eine Kopie von \chapterheadstartvskip sichern:
\let\backupvskip\chapterheadstartvskip
% \chapterheadstartvskip redefinieren:
\renewcommand*\chapterheadstartvskip{\vspace{-2\baselineskip}}
% ab nun ist der Abstand vom Seitenkopf zur Kapitelüberschrift geringer
\tableofcontents
% ursprüngliches \chapterheadstartvskip-Makro wiederherstellen:
\let\chapterheadstartvskip\backupvskip
% ab jetzt also wieder normale Abstände bei Kapitelüberschriften.

Viele Grüße,

Stefan<sub>K</sub>