Lange Abschnittsnamen werden zu wenig Abstand gesetzt.

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


uiezs
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 24. Aug 2017, 19:25

Lange Abschnittsnamen werden zu wenig Abstand gesetzt.

Beitrag von uiezs »

Hallo Alles, ich habe ein Probleme.
Das ist:
Lange Abschnittsnamen werden in der Kopfzeile
des D.o.k.uments mit zu wenig Abstand gesetzt.

Ein Beispiel:
  %Das ist mein Latex-Dokument
\documentclass[pdftex,a4paper,BCOR15mm]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[plainheadsepline]{scrpage2}      

\usepackage{blindtext}

\pagestyle{scrheadings}     
\automark[section]{chapter}  
\ohead[\pagemark]{\pagemark}           
\ihead[\headmark]{\headmark}            

\begin{document}

\chapter{bug 1 - Lange Abschnittsnamen werden in der Kopfzeile des D.o.k.uments mit zu wenig Abstand gesetzt, was man nur sieht wenn man kurze Wörter verwendet}


\end{document}
%Ende des Dokumentes
ich habe mehrfach versucht, keine Ergebnis.
Vielen Dank!

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Zunächst: Lasse pdftex bei den Klassenoptionen weg, a4paper entspricht der Voreinstellung und Deine Angabe für BCOR verwendet eine veraltete Syntax. Das Paket scrpage2 wurde schon vor etlichen Jahren von scrlayer-scrpage abgelöst und die Option plainheadsepline hat ohne headsepline keinen Effekt.

Ich gehe jetzt mal davon aus, dass Du mit "zu wenig Abstand" meinst, dass sich der Kopfzeileneintrag mit der Seitenzahl überlappt. Kann aber sein, dass ich damit falsch liege.

Den Inhalten von \ihead, \chead und \ohead steht jeweils die gesamte Breite der Kopfzeile zur Verfügung. Der erste Buchstabe in dem jeweiligen Befehl bestimmt nur, wie der Inhalt ausgerichtet wird. Dafür, dass die Einträge nicht so breit werden, dass sie andere Inhalte überlappen, bist Du selbst verantwortlich. Soll der Eintrag in der Kopfzeile nur einen Teil der Breite einnehmen, dann kann man dafür beispielsweise \parbox mit der gewünschten (maximalen) Breite im Argument der genannten Befehle verwenden. Sind einige Kopfzeilen mehrzeilig, dann muss außerdem die Höhe der Kopfzeile vergrößert werden. Wenn Dein langer Kopfzeileneintrag nur einen Teil der Kopfzeilenbreite einnimmt, werden das aber sogar noch mehr Zeilen. Du solltest dann ernsthaft überlegen, die Seitenzahl im Fuß auszugeben.

Sinnvoller ist es allerdings das optionale Argument der Gliederungsbefehle für einen verkürzten Kopfzeileneintrag zu nutzen. Soll im Inhaltsverzeichnis trotzdem die lange Überschrift stehen, dann lässt sich die Verwendung der Kurzform nur in der Kopfzeile einfach mit der Option headings=tohead einstellen.
\documentclass[
  BCOR=15mm,% veraltete Syntax ersetzt
  headings=optiontohead
]{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[
  headsepline,
  plainheadsepline,% hat nur eine Effekt mit Option headsepline
  automark,
  %autooneside=false% wird hier nicht benötigt
]{scrlayer-scrpage}% Nachfolger von scrpage2, setzt Seitenstil scrheadings

\ohead*{\pagemark}% Abkürzung für \ohead[\pagemark]{\pagemark}
\ihead*{\headmark} 

\usepackage{blindtext}% nur für Fülltext
\begin{document}
\tableofcontents

\chapter[Kurzversion]{bug 1 - Lange Abschnittsnamen werden in der Kopfzeile des D.o.k.uments mit zu wenig Abstand gesetzt, was man nur sieht wenn man kurze Wörter verwendet} 
\end{document}

uiezs
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 24. Aug 2017, 19:25

Lange Abschnittsnamen werden zu wenig Abstand gesetzt.

Beitrag von uiezs »

Vielen Dank für ihre Antwort. :)
Eigentlich habe ich eine .cls datei. Ein Teil der .cls Datei wie folgt.
...
\RequirePackage[headsepline]{scrpage2}
\pagestyle{scrheadings}
\renewcommand{\chapterpagestyle}{scrheadings}
\clearscrheadings

\automark[chapter]{chapter}
\ihead{\headmark}
\ohead{\pagemark}
...
ja, mein Problem ist, dass sich der Kopfzeileneintrag mit der Seitenzahl überlappt, aber nur die Höhe von der Seitenzahl übeerlappt sich mit der Kopfzeileneintrag.

Jetzt ist die Höhe der Kopfzeile gut für mehr Zeilen. Aber überlappt sich der Kopfzeileneintrag mit der Seitenzahl, was man
nur sieht wenn man kurze Wörter verwendet. Wie der Anfang Foto.

Vielen Dank!
[/b]
Dateianhänge
Bug.png
Bug.png (30.94 KiB) 1612 mal betrachtet

Gast

Beitrag von Gast »

Und was genau spricht gegen die Lösung von esdd? Und was genau spricht dann gegen ihren Vorschlag ggf. mit einer \parbox zu arbeiten und beispielsweise
\ihead{\parbox[tt][3\baselinskip][tt]{.9\linewidth}{\headmark}}}
zu verwenden?

Zum korrekten Einbinden eines Bildes siehe: Wie hänge ich ein Bild an meine Frage?

uiezs
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 24. Aug 2017, 19:25

Lange Abschnittsnamen werden zu wenig Abstand gesetzt.

Beitrag von uiezs »

ich habe vielmal versucht, auch mit \parbox, leider es geht nicht, es sieht immer so.
:roll: :roll: :roll:
gibt es andere Methode?
vielen dank

Gast

Beitrag von Gast »

Ich weiß nicht, was Du versucht hast, weil Du es uns leider entgegen aller Sinnhaftigkeit nicht gezeigt hast, aber ganz bestimmt liefert sowohl esdd's Beispiel ein anderes Ergebnis als auch:
\documentclass[a4paper,BCOR15mm,headlines=3]{scrreprt}% Option headlines ist wichtig --> scrguide
\usepackage[ngerman]{babel}
\usepackage{scrlayer-scrpage}      

\usepackage{blindtext}

\automark[section]{chapter}  
\ohead[\pagemark]{\pagemark}           
\ihead*{\parbox[tt][3\baselineskip][tt]{.9\linewidth}{\headmark}}

\begin{document}

\chapter{bug 1 - Lange Abschnittsnamen werden in der Kopfzeile des D.o.k.uments mit zu wenig Abstand gesetzt, was man nur sieht wenn man kurze Wörter verwendet}

\end{document}
Von Kolumnentiteln auf Kapitelanfangsseiten kann ich übrigens nur abraten. Also besser \ihead statt \ihead* verwenden. Option plainheadseplines habe ich weggelassen, da sie ohne headseplines ohnehin nichts bewirkt.

Ich würde außerdem wie esdd dringend dazu raten keine mehrzeiligen Kopfzeilen zu verwenden, sondern mit dem optionalen Argument von \chapter eine Kurzform des Kolumnentitels zu verwenden.

Antworten