PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linespread für Inhaltsverzeichnis



MMM
01-06-2012, 10:18
Hallo,

für meine Arbeit die ich in Latex schreibe ist eine Zeilenabstand von 1.5 angegeben. Nun möchte ich dies jedoch für das Inhaltsverzeichnis verändern, da es sonst sehr groß und so eher unübersichtlich wirkt. Bei der Suche bin ich auf folgende Lösungsansätze gekommen http://www.golatex.de/mehr-linespread-bzw-durchschuss-im-inhaltsverzeichnis-t4926.html.

Diese funktionieren zwar, bringen aber beide einen Fehler mit sich. Falls das Inhaltsverzeichnis aus mehr als aus einer Seite besteht ist die Kopfzeile der ersten Seite des Inhaltsverzeichnisses ein wenig nach oben verschoben. Habe mal ein Minimalbeispiel erstellt, wäre schön wenn da jemand eine Idee hat:


\documentclass[12pt]{scrartcl}

%---- Packages ----%
\usepackage[utf8]{inputenc} % Deutscher Zeichensatz
\usepackage[ngerman]{babel} % Deutsche Beschriftung
\usepackage[ngerman]{translator} % Deutsche Beschriftung
\usepackage[T1]{fontenc} % Weiteres Umlautepaket

\usepackage[automark]{scrpage2} % Kopf und Fußzeile

%---- Einstellungen ----%
\linespread{1.5} % Zeilenabstand

% Kopf & Fußzeile
\pagestyle{scrheadings} % Standard laden
\ohead{\thepage} % Seitenzahl rechts
\setheadsepline{1pt} % Kopf Trennlinie
\cfoot{} % Seitenzahl aus Fuß entfernen

%---- Content ----%
\begin{document}
\noindent Hier steht Krims krams\\
Welcher den vergrößerten Abstand haben soll\newpage

% Linespread für Inhaltsverzeichnis verringern
\addtocontents{toc}{\protect\linespread{1.0}\prote ct\selectfont}

% Alternativlösung
%\linespread{1.0}
%\selectfont
\tableofcontents % Erstelle Inhaltsverzeichnis
%\linespread{1.5}
%\selectfont
\newpage

\section{Test}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\subsection{TestTest}\subsection{TestTest}\subsect ion{TestTest}
\subsubsection{TestTestTest}\subsubsection{TestTes tTest}\subsubsection{TestTestTest}
\subsubsection{TestTestTest}\subsection{TestTest}\ subsection{TestTest}

\section{Test}\subsection{TestTest}\subsection{Tes tTest}\subsection{TestTest}
\subsubsection{TestTestTest}\subsubsection{TestTes tTest}\subsubsection{TestTestTest}
\subsubsection{TestTestTest}\subsection{TestTest}\ subsection{TestTest}

\section{Test}\subsection{TestTest}\subsection{Tes tTest}\subsection{TestTest}
\subsubsection{TestTestTest}\subsubsection{TestTes tTest}\subsubsection{TestTestTest}
\subsubsection{TestTestTest}\subsection{TestTest}\ subsection{TestTest}


% Falls folgende fehlen, nur eine Inhaltsverzeichnisseite => Funktioniert
\section{Test}\subsection{TestTest}\subsection{Tes tTest}\subsection{TestTest}
\subsubsection{TestTestTest}\subsubsection{TestTes tTest}\subsubsection{TestTestTest}
\subsubsection{TestTestTest}\subsection{TestTest}\ subsection{TestTest}

\section{Test}\subsection{TestTest}\subsection{Tes tTest}\subsection{TestTest}
\subsubsection{TestTestTest}\subsubsection{TestTes tTest}\subsubsection{TestTestTest}
\subsubsection{TestTestTest}\subsection{TestTest}\ subsection{TestTest}
\end{document}

bobmalaria
01-06-2012, 11:23
hi,

besser als linspread zu definiern ist das setspace paket.

lade
\usepackage{setspace}

dann schriebe


\singlspacing
\tableofcontents

%\clearpage %eventuell
\onehalfspacing

und des sollte funktionieren

hakaze
01-06-2012, 11:25
Versuch mal auf manuelle Änderung von linespread zu verzichten und verwende stattdessen das Paket setspace:
\documentclass[12pt]{scrartcl}
% ... andere Pakete

\usepackage{setspace}

\begin{document}
% 1.5-zeiliger Abstand
\onehalfspacing
Text

% Wechsel auf einfachen Zeilenabstand und wieder zurück
\singlespacing
\tableofcontents
\onehalfspacing

\section{Testabschnitt}
Der eigentliche Inhalt
\end{document}

EDIT: zu langsam getippt, der Bob war schneller :(

MMM
01-06-2012, 12:35
Leider entspricht \onehalfspacing scheinbar nicht \linespread{1.50}. Der Abstand ist wesentlich geringer. Mit \doublespace habe ich dann aber nicht nur einen etwas zu großen Abstand, sondern auch den gleichen Fehler wie vorher, mit dem verschobenen Header auf der ersten TOC Seite.

EDIT: Ok, hier wird der Unterschied der Größen erläutert: http://www.macuser.de/forum/f19/latex-unterschied-zwischen-251062/

EDIT2: Ok, also mit \spacing{1.50} ergibt sich keine Änderung zu \linespread{1.50}. Auch nicht auf den Fehler bezogen.

hakaze
01-06-2012, 13:52
Das wohl daran, das auch der Durchschuss der Kopfzeilen geändert wird. Wenn man allgemein einzeilig und nur im TOC 1,5-fache Abstand verwendet geht die Linie im Kopf interessanterweise nach unten.

Die Lösung (Markus Kohm) (http://www.komascript.de/node/1431) besteht darin, einen festen Durchschuss für die Kopfzeile zu definieren:
\addtokomafont{pageheadfoot}{\setstretch{1}} Das klappt, zumind. mit der setspace-Variante sehr gut.

MMM
01-06-2012, 15:17
Ja, so funktioniert es tadellos. Vielen Dank hakaze!