fancyhdr: Blöde Kopfzeile über Inhaltsverzeichnis-Seiten

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:

Beitrag von fs »

Anonymous hat geschrieben:
fs hat geschrieben:Ich nutze aktuell KOMA-Script und es funktioniert. Ich strebe aber ansich eine portable Lösung an, deswegen auch fancyhdr.
Das ist eine etwas seltsame Begründung. scrlayer-scrpage kann sehr gut mit den Standardklassen verwendet werden. Bei fancyhdr mit einer KOMA-Script-Klasse gibt es dagegen eine Warnung mit Begründung, warum das keine optimale Wahl ist. Zumindest solange man nicht sehr genau weiß, was man tut, sollte man solche Warnungen vielleicht nicht einfach so in den Wind schießen.
Ich habe die Warnung auch gesehen, bin laut der Begründung davon aber nicht betroffen, da ich die genannten Features nicht nutze. Augenscheinlich funktioniert das Zusammenspiel. Dass scrlayer-scrpage portabel ist, ist eine gute Information, die in der Warnung leider nicht erwähnt ist. Dann kommt auch ein Umstieg infrage, mal sehen.

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 »

Warnungen sind eigentlich auch nicht dazu da, über die Fähigkeiten anderer Pakete zu informieren. Dafür hat man die Anleitung. Und auf der ersten Seite der Anleitung zu scrlayer-scrpage, also derzeit auf der ersten Seite von Kapitel 5 der KOMA-Script-Anleitung, [d]scrguide[/d], (und auch in der 5. Auflage des Buchs) steht:
Markus Kohm hat geschrieben:Natürlich kann scrlayer-scrpage auch mit anderen Klassen, beispielsweise den Standardklassen verwendet werden.
Das gilt übrigens für alle in der KOMA-Script-Anleitung dokumentierten Pakete. Das einzige Paket in der KOMA-Script-Sammlung, das nicht für die Verwendung mit anderen Klassen gedacht ist, ist scrkbase. Das ist laut Doku lediglich eine Art Hilfspaket, das grundlegende Fähigkeiten für die KOMA-Script-Klassen und die meisten KOMA-Script-Pakete bereit stellt. Selbst scrletter funktioniert inzwischen auch mit den Standardklassen.
fs hat geschrieben:Ich habe die Warnung auch gesehen, bin laut der Begründung davon aber nicht betroffen
Das mag derzeit ein pragmatischer Ansatz sein. Aber Dinge ändern sich. Außerdem ist die Aufzählung in der Warnung ja nicht zwingend vollständig. Ich denke mir beispielsweise, dass auch Optionen wie chapterprefix mit fancyhdr weniger gut funktionieren, da das zwangsweise \chaptermark umdefiniert und KOMA-Script da eine wesentlich aufwendigere Definition hat. Auch der hässliche (weil unprofessionell gelöste), zwangsweise Versalsatz im Kolumnentitel sehe ich als Anlass, bei fancyhdr zusätzlich einzugreifen. Auch an der Stelle behindert das Paket Möglichkeiten, die man sonst mit den KOMA-Script-Klassen hat, während scrlayer-scrpage diese unterstützt. Wendet man also die Weitsicht an, die man von einem IT-Profi erwarten darf, sollte man sich entweder sehr gründlich mit der Problematik der Verwendung von fancyhdr mit einer KOMA-Script-Klasse beschäftigen, oder aber die Warnung ernst nehmen.

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

Beitrag von fs »

Anonymous hat geschrieben:Warnungen sind eigentlich auch nicht dazu da, über die Fähigkeiten anderer Pakete zu informieren.
In dem Fall würde das KOMA-Paket über sich selbst informieren. Hätte ich nützlich gefunden.
Anonymous hat geschrieben:Dafür hat man die Anleitung. Und auf der ersten Seite der Anleitung zu scrlayer-scrpage, also derzeit auf der ersten Seite von Kapitel 5 der KOMA-Script-Anleitung, [d]scrguide[/d], (und auch in der 5. Auflage des Buchs) steht:
Markus Kohm hat geschrieben:Natürlich kann scrlayer-scrpage auch mit anderen Klassen, beispielsweise den Standardklassen verwendet werden.
Danke für den Hinweis. Ich habe daraufhin mein fancyhdr-Setup identisch auf scrlayer-scrpage abgebildet. Hier die Gegenüberstellung des Code, vielleicht ist sie ja für jemanden nützlich. Das Problem, das ich eingangs geschildert habe, muss bei beiden Paketen "zu Fuß" gelöst werden (siehe jeweiliges \ifstr-Konstrukt). Der Aufwand ist bei scrlayer-scrpage höher, da bei einseitigen Dokumenten der Kopf per Default ganz anders aufgebaut ist als bei fancyhdr und daher komplett umdefiniert werden muss. Was mich etwas stört, ist der sehr geringe vertikale Abstand zwischen Trennlinie und Seitenzahl im Fuß bei scrlayer-scrpage. Wie lässt sich das am besten korrigieren?

fancyhdr:

\usepackage{fancyhdr}
\usepackage{scrbase}
\pagestyle{fancy}
% Kopfzeile
\lhead{\MakeUppercase{\textit{\leftmark}}}
\rhead{\ifstr{\leftmark}{\rightmark}{}{\textit{\rightmark}}}
% Fußzeile
\renewcommand{\footrulewidth}{0.4pt}

scrlayer-scrpage:

\usepackage{scrlayer-scrpage}
\KOMAoptions{automark,autooneside=false,headsepline,footsepline}
\pagestyle{scrheadings}
% Kopfzeile
\automark[subsection]{section}
\ihead{\MakeUppercase{\leftmark}}
\chead{}
\ohead{\ifstr{\leftmark}{\rightmark}{}{\rightmark}}
% Fußzeile
\cfoot{\emph{\thepage}}

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

Antworten