scrlayer-scrpage: vertikale Abstände angleichen

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


fs
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Di 2. Jan 2018, 09:24
Kontaktdaten:

scrlayer-scrpage: vertikale Abstände angleichen

Beitrag von fs »

Hallo,

ich nutze scrlayer-scrpage zum Formatieren von Kopf- und Fußzeilen. Dabei fällt mir auf, dass der vertikale Abstand zwischen oberer Trennlinie und Kopfzeilen-Text ein anderer ist als zwischen unterer Trennline und Fußzeilen-Text. Gibt es einen bestimmten Grund, warum das so ist? Welches ist der präferierte Weg, die Abstände identisch zu machen?
\documentclass[a5paper]{scrartcl}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\KOMAoptions{headsepline,footsepline}
\ihead{IHEAD}
\chead{CHEAD}
\ohead{OHEAD}
\ifoot{IFOOT}
\cfoot{CFOOT}
\ofoot{OFOOT}
\begin{document}
Text
\end{document}
Grüße
Frank
Dipl.-Inform. Frank Seitz
IT Consultant / {Web, Database, Linux} Developer + Admin
Tel: +49-176-78243503, Hauptstr. 32-34, D-25462 Rellingen

Blog: http://fseitz.de/blog

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

Re: scrlayer-scrpage: vertikale Abstände angleichen

Beitrag von esdd »

fs hat geschrieben:Dabei fällt mir auf, dass der vertikale Abstand zwischen oberer Trennlinie und Kopfzeilen-Text ein anderer ist als zwischen unterer Trennline und Fußzeilen-Text. Gibt es einen bestimmten Grund, warum das so ist?
Das ist in Deinem Beispiel so, weil Du nur Zeichen mit Oberlängen, aber ohne Unterlängen verwendest. Deshalb ist hier noch ein Beispiel mit Ober- und Unterlängen in Kopf und Fuß:
\documentclass[a5paper]{scrartcl}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\KOMAoptions{headsepline,footsepline}
\ihead{gggg}
\chead{CHEAD}
\ohead{pppp}
\ifoot{gggg}
\cfoot{CFOOT}
\ofoot{pppp}
\begin{document}
Text
\end{document}
Wenn Du die Linien verschieben willst, kannst Du beispielsweise die Layer mit den Linien verschieben.

fs
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Di 2. Jan 2018, 09:24
Kontaktdaten:

Re: scrlayer-scrpage: vertikale Abstände angleichen

Beitrag von fs »

esdd hat geschrieben:Das ist in Deinem Beispiel so, weil Du nur Zeichen mit Oberlängen, aber ohne Unterlängen verwendest.
Ok, das war vielleicht ungünstig gewählt. Hier ein realistischeres Beispiel:
\documentclass[a5paper]{scrartcl} 
\usepackage{scrlayer-scrpage} 
\pagestyle{scrheadings} 
\KOMAoptions{headsepline,footsepline} 
\ihead{Kapitel}
\chead{} 
\ohead{Abschnitt} 
\ifoot{} 
\cfoot{49} 
\ofoot{} 
\begin{document} 
Text 
\end{document}
Die Seitenzahl ist sehr dicht (m.E. zu dicht) an der Trennline.
esdd hat geschrieben:Wenn Du die Linien verschieben willst, kannst Du beispielsweise die Layer mit den Linien verschieben.
Klingt kompliziert. Hast du ein Beispiel?

Grüße
Frank
Dipl.-Inform. Frank Seitz
IT Consultant / {Web, Database, Linux} Developer + Admin
Tel: +49-176-78243503, Hauptstr. 32-34, D-25462 Rellingen

Blog: http://fseitz.de/blog

Gast

Beitrag von Gast »

Und hier noch ein Beispiel, bei dem die gesamte Höhe und Tiefer einer Zeile durch einen grauen Kasten markiert wird:
\documentclass[a5paper]{scrartcl}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\KOMAoptions{headsepline,footsepline}
\ihead{\color{gray!25}\rule[-\dp\strutbox]{\linewidth}{\baselineskip}}
\chead{CHEAD}
\ohead{pppp}
\ifoot{\color{gray!25}\rule[-\dp\strutbox]{\linewidth}{\baselineskip}}
\cfoot{CFOOT}
\ofoot{pppp}
\begin{document}
Text
\end{document}
Dabei wird sichtbar, dass es tatsächlich überhaupt keinen Abstand zwischen der Unterkante einer Kopfzeile und der Linie darunter gibt und auch keinen Abstand zwischen der Oberkante einer Fußzeile und der Linie darunter.

Gast

Beitrag von Gast »

Für die Verschiebung der Kopf-Trennlinie findet man recht schnell: http://texwelt.de/wissen/fragen/18461/a ... line/18463
Für Fußlinien die übrigen vier Linien geht das entsprechend. Die zusätzlichen Ebenen/Layer sind in der Anleitung dokumentiert.

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

Re: scrlayer-scrpage: vertikale Abstände angleichen

Beitrag von esdd »

fs hat geschrieben: Klingt kompliziert. Hast du ein Beispiel?
Nein, das ist nicht kompliziert. Such mal in der Anleitung nach \ModifyLayer und addvoffset. Außerdem gibt es in der Anleitung eine Tabelle mit den von scrlayer-scrpage definierten Ebenen.

fs
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Di 2. Jan 2018, 09:24
Kontaktdaten:

Beitrag von fs »

Anonymous hat geschrieben:Für die Verschiebung der Kopf-Trennlinie findet man recht schnell: http://texwelt.de/wissen/fragen/18461/a ... line/18463
Für Fußlinien die übrigen vier Linien geht das entsprechend. Die zusätzlichen Ebenen/Layer sind in der Anleitung dokumentiert.
Danke! Mit
\ModifyLayer[addvoffset=-LENGTH]{scrheadings.foot.above.line}
bekomme ich die Linie über der Fußzeile nach oben geschoben. Bleibt nur noch die Frage, wie ich die Länge LENGTH bestimme. Ich möchte es natürlich nicht für eine bestimmte Schriftart hinfummeln, sondern dass es allgemein funktioniert. Any ideas?

Grüße
Frank
Dipl.-Inform. Frank Seitz
IT Consultant / {Web, Database, Linux} Developer + Admin
Tel: +49-176-78243503, Hauptstr. 32-34, D-25462 Rellingen

Blog: http://fseitz.de/blog

Gast

Beitrag von Gast »

Da mir nicht klar ist, warum Du überhaupt etwas verschieben willst, kann ich Dir auch unmöglich sagen, um welchen Wert. Ich kann Dir nur sagen, dass es natürlich schriftabhängige Größen wie das in obigem Beispiel verwendete ex gibt. Siehe dazu eine ausführliche LaTeX-Einführung.

fs
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Di 2. Jan 2018, 09:24
Kontaktdaten:

Beitrag von fs »

Anonymous hat geschrieben:Da mir nicht klar ist, warum Du überhaupt etwas verschieben willst, kann ich Dir auch unmöglich sagen, um welchen Wert. Ich kann Dir nur sagen, dass es natürlich schriftabhängige Größen wie das in obigem Beispiel verwendete ex gibt. Siehe dazu eine ausführliche LaTeX-Einführung.
Ex ist bekannt. Schau dir bitte noch einmal mein Eingangsposting an. Der genannte vertikale Leerraum soll - meinetwegen in genau dem Fall - oben und unten identisch sein, unabhängig von der gewählten Schriftart, aber natürlich unter der Prämisse, dass die Schriftart oben und unten dieselbe ist. Fancyhdr macht es an der Stelle besser.

Grüße
Frank
Dipl.-Inform. Frank Seitz
IT Consultant / {Web, Database, Linux} Developer + Admin
Tel: +49-176-78243503, Hauptstr. 32-34, D-25462 Rellingen

Blog: http://fseitz.de/blog

Gast

Beitrag von Gast »

fs hat geschrieben:unabhängig von der gewählten Schriftart, aber natürlich unter der Prämisse, dass die Schriftart oben und unten dieselbe ist.
Unabhängig vom gewählten Text und unabhängig von der Schriftart geht nicht, da Mittellinie, Versallinie, Minuskellinie, Unterlängen und Oberlängen bei unterschiedlichen Schriften unterschiedlich sind. Wenn man den Text kennt, kann man natürlich dessen konkrete Höhe und Tiefe ausmessen. Siehe dazu \settoheight und \settodepth
fs hat geschrieben:Fancyhdr macht es an der Stelle besser
Nur weil Dir das Ergebnis von fancyhdr besser gefällt, heißt das weder, dass fancyhdr das allgemein besser macht noch dass es unabhängig von der gewählten Schrift ist.

Wie man leicht aus der Anleitung von [d]fancyhdr[/d] erfährt, verwendet es einen zusätzlichen Abstand von 30% der normalen Zeilenhöhe, also .3\normalbaselineskip, was übrigens ca. \dp\strutbox entspricht. Wenn Dir das gefällt, stellt sich die Frage, warum Du es nicht verwendest. Als der IT-Profi, der Du laut Deiner Signatur bist und der nach eigenem Bekunden Dinge besser lösen würde als DEK und LL, hast Du die [d]fancyhdr[/d]-Anleitung doch sicher gelesen, oder?

Gesperrt