Sie sind hier

Linien an Kopf- Fußzeile verschieben sich bei Zeilenabstandsänderung mit setspace

Hallo,

in meinem Dokument ist es nötig den Zeilenabstand mehrmals zwischen 1 und 1,5 zu verändern. Nachdem ich das Paket setspace eingebaut hatte, bermerkte ich eine vertikale Verschiebung der Linien an den Kopf- und Fußzeilen. Dies tritt immer bei einem Wechsel von einem Zeilenabstand zum anderen auf. Mehrere Seiten mit dem gleichen Zeilenabstand haben auch stets die gleichen veränderten Kopf- bzw. Fußzeilen.

Ich habe Verschiedenes ausprobiert, konnte den Fehler jedoch leider nicht ausmerzen. Es folgt also ein Beispiel mit Varianten meiner Versuche, von denen ihr am besten nur jeweils eins einkommentiert lasst. Hier ein paar Erklärungen dazu:

Variante 1: Linien werden verschoben.
Variante 2: Linien werden verschoben.
Variante 3: Es findet keine Verschiebung statt, da der Text nicht über eine Seite hinausragt.
Variante 4 (Erweiterung von Variante 3): Linien werden verschoben, da mehrseitiger Text auftritt. Bei gleichen Einstellungen folgt noch eine Seite ohne Verschiebung, da es sich nur um einseitigen Text handelt.

Ich benutze KOMA-Script v 3.06

Meine Frage lautet jetzt also: Wie kann ich den Zeilenabstand auch für mehrseitige Textpassagen ändern, ohne Veränderungen an den Kopf- und Fußzeilen hervorzurufen?

Ich hoffe ihr könnte mir helfen, beste Grüße,

Michael

Das Beispiel:

\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{setspace}
 
\usepackage[headsepline,footsepline,headtopline,footbotline]{scrpage2}
\pagestyle{scrheadings}
\ihead{Inner Head}\chead{Center Head}\ohead{Outer Head}
\ifoot{Inner Foot}\ofoot{Outer Foot}
 
\begin{document}
 
\section{Kapitel 1}\blindtext
 
% Variante 1
\newpage
\onehalfspace
\section{Kapitel 2}\blindtext
 
%% Variante 2
%\newpage
%\setstretch{1.25}
%\section{Kapitel 2}\blindtext
 
%% Variante 3
%\newpage
%\begin{onehalfspace}
%\section{Kapitel 2}\blindtext
%\end{onehalfspace}
 
%% Variante 4
%\newpage
%\begin{onehalfspace}
%\section{Kapitel 2}
%\blindtext\blindtext\blindtext\blindtext\blindtext\blindtext
%\newpage
%\section{Kapitel 3}
%\blindtext
%\end{onehalfspace}
 
\end{document}
Bild von Markus Kohm

Wenn Du keine Änderung des Durchschusses in Kopf und Fuß haben willst, dann definiere einen festen Durchschuss dafür:

\addtokomafont{pageheadfoot}{\setstretch{1}}

BTW: onehalfspace ist meines Wissens eine Umgebung. Jedenfalls öffnet \onehalfspace ungewollt eine Gruppe, was u. a. zu der Meldung

(\end occurred inside a group at level 1)
 
### semi simple group (level 1) entered at line 17 (\begingroup)
### bottom level

in Deinem Beispiel führt. Du solltest das also entweder auch als Gruppe verwenden oder \onehalfspacing verwenden.

PS: Version 3.06 hat übrigens einen ekligen Bug bei Verwendung von \cleardoublepage.

Vielen Dank schon einmal für die schnelle Hilfe, sowieso die zusätzlichen Tips!

Ich habe den Rat beherzigt, ein Update meiner gesamten TeX-Distribution gemacht (KOMA-Script ist jetzt v 3.08a) und den Befehl \onehalfspacing nun hoffentlich korrekt eingebaut. Des Weiteren habe ich den vorgeschlagenen Befehl für einen festen Durchschuss in Kopf- und Fußzeilen integriert.

Allerdings führt dieser lediglich zu dem gewünschten Verhalten in der Kopfzeile. Diese sieht nun stets perfekt aus. Leider jedoch bleibt die Fußzeile davon völlig unbeeindruckt und verschiebt nach wie vor die Linien. Ich habe die KOMA-Script Anleitung gewälzt und nichts gefunden, das mir weiterhilft.

Wie bekomme ich das nun in den Griff?

Besten Gruß, Michael

Das Beispiel:

\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{setspace}
 
\usepackage[headsepline,footsepline,headtopline,footbotline]{scrpage2}
\pagestyle{scrheadings}
\ihead{Inner Head}\chead{Center Head}\ohead{Outer Head}
\ifoot{Inner Foot}\ofoot{Outer Foot}
 
\addtokomafont{pageheadfoot}{\setstretch{1}}
 
\begin{document}
 
\section{Kapitel 1}\blindtext
 
\newpage
\onehalfspacing
\section{Kapitel 2}\blindtext
 
\end{document}
Bild von Markus Kohm

Stimmt. Der Fuß ist da leider ein Problem und das hat wieder einmal damit zu tun, dass LaTeX den Fuß ganz anders behandelt als den Kopf. So gibt es beispielsweise keine definierte Höhe für den Fuß. Das ist tatsächlich lästig. Mit fällt als einzige Lösung ein, die Linien nicht per Option zu setzen, sondern als Teil der Fußdefinition selbst.

Tja das ist wirklich schade.
Wenn ich nun den Lösungsvorschlag richtig interpretiere, soll ich meinen eigenen Seitelstil erstellen. Das habe ich auch einmal getan und leider keinen Unterschied feststellen können.

Entspricht mein Beispiel denn überhaupt dem vorgegebenen Lösungsansatz und falls ja, gibt es noch irgendeine andere Herangehensweise die Linien korrekt einzubinden? Vielleicht den Quellcode der verarbeitenden Dateien manipulieren?

Gruß, Michael

Das Beispiel:

\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{setspace}
\usepackage{scrpage2}
 
\defpagestyle{mystyle}{  % Kopfdefinition
	(\textwidth,.4pt)
	{}
	{}
	{\rlap{Inner Head}\hfill Center Head\hfill \llap{Outer Head}}
	(\textwidth,.4pt)
}{                       % Fußdefinition
	(\textwidth,.4pt)
	{}
	{}
	{\rlap{Inner Foot}\hfill \pagemark\hfill \llap{Outer Foot}}
	(\textwidth,.4pt)
}
 
\pagestyle{mystyle}
\addtokomafont{pageheadfoot}{\setstretch{1}}
 
\begin{document}
 
\section{Kapitel 1}\blindtext
\newpage
\onehalfspacing
\section{Kapitel 2}\blindtext
 
\end{document}
Bild von Markus Kohm

Nein, nein, das bringt nichts. Das ist ja nur dasselbe in grün.

Du sollst die Linien nicht mit den Linien-Features von scrpage2 setzen, sondern selbst als Teil der Fußdefinition. Du kannst beispielsweise etwas wie (ungetestet) \ifoot{\linespread{1}\selectfont\begin{tabularx}{\linewidth}[X]\hline\centering\pagemark\tabularnewline\hline\end{tabularx}\par} probieren. Ggf. die Tabelle auch noch in ein Box packen.

PS: Für tabularx benötigt man das gleichnamige Paket.

Perfekt! Vielen Dank für deinen Tip! Dank deiner Hilfe und der Dokumentation zu tabularx bleiben die Linien der Kopf- und Fußzeilen endlich dort, wo sie sein sollen.

Ich sollte wohl noch kurz anmerken, warum ich die Linien in \cfoot einbinde:
Selbstverständlich wäre das auch in \ifoot oder \ofoot möglich, allerdings wird dann der darin gesetzte Text horizontal zur Seitenmitte versetzt. Es entsteht also ein Versatz zwischen Linienende und Text. Nutzt man \cfoot umgeht man dieses Problem durch die Zentrierung.

Vielen Dank noch einmal und besten Gruß,
Michael

Das Beispiel:

\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{setspace}
\usepackage{tabularx}
 
\usepackage[headsepline,headtopline]{scrpage2}
\pagestyle{scrheadings}
\ihead{Inner Head}\chead{Center Head}\ohead{Outer Head}
\ifoot{Inner Foot}\ofoot{Outer Foot}
\cfoot{\begin{tabularx}{\textwidth}{X}
          \hline\centering\pagemark\tabularnewline\hline
       \end{tabularx}}
 
\addtokomafont{pageheadfoot}{\setstretch{1}}
 
\begin{document}
 
\section{Kapitel 1} \blindtext
\newpage
\onehalfspacing
\section{Kapitel 2} \blindtext
 
\end{document}
Bild von Markus Kohm

Ersetze »X« durch »@{}X@{}«, um den Spaltenabstand vor und nach der Spalte zu entfernen. Dann dürfte auch der Versatz weg sein.

Tatsache, damit ist es wirklich eine prefekte Lösung und jedes gewünschte Layout ist realisierbar. Nur der Vollständigkeit halber hier die entsprechende Fußdefinition (\cfoot und \ofoot können selbstverständlich wie gewohnt benutzt werden):

\ifoot{\begin{tabularx}{\textwidth}{@{}X@{}}
          \hline Inner Foot\tabularnewline\hline
       \end{tabularx}}

Vielen Dank für die kompetente Hilfe,
Michael

Comments for "Linien an Kopf- Fußzeile verschieben sich bei Zeilenabstandsänderung mit setspace" abonnieren