Umstellung von fancyhdr auf scrlayer-scrpage

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


Stefan S

Umstellung von fancyhdr auf scrlayer-scrpage

Beitrag von Stefan S »

Hallo,
da mir die Fehlermeldung welche bei der Kombination von 'fancyhdr' mit KOMA-Script ziemlich auf die Nerven geht, würde ich meine Vorlage gerne umstellen. Mein Problem ist nun, dass ich dort drei verschiede header definiert habe (header-roman für Inhaltsverzeichnis usw., header-arabic und plain). Ich würde nun gerne die gleiche Aufteilung mit dem Paket scrlayer-scrpage anlegen. Anbei findet ihr ein Minimalbeispiel. Prinzipiell finde ich die Umstellung des headers durch \pagestyle{header-...} praktisch, bekomme es allerdings selbst mit dem scrlayer-scrpage nicht hin und werde aus der Info, die ich im Internet finde, leider nicht schlau. Ich würde mich über Hilfe sehr freuen.
Vielen Dank!


\documentclass[11pt,a4paper]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british]{babel}

\usepackage[paper=a4paper,left=30mm,right=25mm,top=25mm,bottom=30mm]{geometry}

%% Headers
\usepackage{fancyhdr}			% Erstellung von selbst definierten Kopfzeilen

% header with page number (roman)
\fancypagestyle{header-roman}{
  \fancyhf{}% Clear header and footer
	\pagenumbering{Roman}
  \fancyhead[R]{\thepage}
  \renewcommand{\headrulewidth}{0.4pt}
}

% header with page number (arabic) and chapter title
\fancypagestyle{header-arabic}{
  \fancyhf{}% Clear header and footer
	\pagenumbering{arabic}
  \fancyhead[L]{\nouppercase{\leftmark}}
  \fancyhead[R]{\thepage}
  \renewcommand{\headrulewidth}{0.4pt}
}

% Redefine the plain page style
\fancypagestyle{plain}{%
  \fancyhf{}% Clear header and footer
  \fancyhead[R]{\thepage}
  \renewcommand{\headrulewidth}{0.4pt}
}

\begin{document}

\pagestyle{header-roman}
\tableofcontents	% Inhaltsverzeichnis
\listoffigures		% Abbildungsverzeichnis
\listoftables		% Tabellenverzeichnis

\pagestyle{header-arabic}

\chapter{Introduction} \label{chap:chap1}

\section{Definition}
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 

\pagebreak

bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 


\end{document}

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Hallo.

Fürs Erste: du erhältst sicherlich keine Fehlermeldung, sondern eine Warnung. Das ist ein erheblicher Unterschied. Aber gut, dass du dich der Sache an- und die Warnung Ernst nimmst.

Die Kopfzeile unterscheidet sich ja nicht wirklich, lediglich die Ausgabe der Seitenzahlen (römisch, arabisch). Die Ausgabe kannst du ebenfalls im Text definieren, dafür braucht es keinen neuen Kopfzeilen-Stil. Dass man heute eigentlich keine römischen Zahlen mehr im Vorderteil benutzt, sei mal dahin gestellt.

Mein Vorschlag:
\documentclass[british]{scrreprt}
%\usepackage[utf8]{inputenc} %bei aktuellem LaTeX nicht mehr notwendig
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage[left=30mm,right=25mm,top=25mm,bottom=30mm]{geometry}

%% Headers
\usepackage[automark,headsepline=.4pt,plainheadsepline]{scrlayer-scrpage}         % Erstellung von selbst definierten Kopfzeilen
\clearpairofpagestyles%\clearscrheadfoot veraltet
\renewcommand*{\chaptermarkformat}{%
	\chaptername~\thechapter\autodot\enskip}
\ohead*{\pagemark}
\ihead{\headmark}
\setkomafont{pageheadfoot}{\normalfont}

\usepackage{blindtext}

\begin{document}
\pagenumbering{roman}
\tableofcontents   % Inhaltsverzeichnis
\listoffigures      % Abbildungsverzeichnis
\listoftables      % Tabellenverzeichnis
\clearpage
\pagenumbering{arabic}
\chapter{Introduction}\label{chap:chap1}
\section{Definition}
\blindtext[6]

\end{document}
Zuletzt geändert von markusv am Fr 27. Mär 2020, 20:08, insgesamt 1-mal geändert.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

\clearscrheadfoot ist veraltet.

Stefan S

Beitrag von Stefan S »

Danke für die Hilfe,
funktioniert soweit einwandfrei. Habe an
\renewcommand*{\chaptermarkformat}{%
   \chaptername~\thechapter\autodot.\enskip}
nur noch einen Punkt nach autodot gesetzt um in der Kopfzeile zwischen Kapitel und Kapitelnamen einen Punkt zu setzen.

Die eine Warnung ist somit weg, allerdings erhalte ich jetzt 4 neue Warnungen:
- Very small head height detected!(scrlayer-scrpage)
- \headheight to low.
- Overfull \vbox (3.4pt too high) has occurred while \output is active []
- \footheight to low.

Habe mir die vorgeschlagenen Lösungen auch schon angesehen. Anscheinend passt der 1.5 fache Zeilenabstand im Header nicht. Habe das Problem mit 'singlespacing=true' behoben und die Warnungen somit wegbekommen.

Gast

Beitrag von Gast »

Da solltest du nicht machen, weil damit, sobald \autodot selbst für einen Punkt sorgt, zwei Punkte nacheinander stehen. Siehe auch die Erklärung zur Anweisung in der Anleitung, sowie die Erklärung zu Option numbers.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Stefan S hat geschrieben:Habe an
\renewcommand*{\chaptermarkformat}{%
   \chaptername~\thechapter\autodot.\enskip}
nur noch einen Punkt nach autodot gesetzt um in der Kopfzeile zwischen Kapitel und Kapitelnamen einen Punkt zu setzen.
\autodot setzt, wie der Name schon vermuten lässt, einen Punkt (dot) autoatisch, wenn es nötig wird. Nötig heißt, wenn der Punkt auch im eigentlichen Dokument auftaucht.
Solltest du einen Anhang haben, wirst du erfahren, dass der Punkt automatisch hinter den Kapiteleinträgen auftaucht, da dies nach Duden so gemacht wird und im KOMA-Script entsprechend hinterlegt ist. In der Kopfzeile wirst du dann 2 Punkte haben.
Möchtest du generell Punkte hinter den Chapter, nutze die Option numbers=enddot. Dann erscheint der Punkt auch in der Kopfzeile.
Eine unterschiedliche Ausgabe, wie du sie gerade praktizierst, würde ich nicht empfehlen.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Stefan S

Beitrag von Stefan S »

Danke nochmals,
verstehe ich dass richtig, dass generell von den Punkten in der Kopfzeile abgeraten wird. Falls ich sie dennoch gerne haben möchte, inkludiere ich bei documentclass die option numbers=enddot[/tt]. Dann steht im Inhaltsverzeichnis usw. 1.1. statt 1.1 oder?

Gast

Beitrag von Gast »

Stefan S hat geschrieben:verstehe ich dass richtig, dass generell von den Punkten in der Kopfzeile abgeraten wird.
Nein. Es wird generell davon abgeraten, den Punkt in der Kopfzeile zu verwenden im Inhaltsverzeichnis und der Überschrift selbst aber nicht, also ein komplettes Durcheinander anzurichten. Es wird außerdem davon abgeraten, die Punkt bei einigen Gliederungsebenen zu verwenden und bei anderen nicht. Deshalb wird empfohlen, in der Regel eine drei Einstellungen zu verwenden, die per Option numbers möglich sind, und kein Mischmasch anzurichten. Es gibt Ausnahmen, die gelten aber vor allem dann, wenn man das Design der Überschriften grundlegend verändert.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Gewünscht ist eine konsistente Nummerierung, d.h. in der Kopfzeile sollte das stehen, was auch im Text zu finden ist.
Üblicherweise werden (nach Duden) Nummerierungen, die nur arabsiche Ziffern verwenden, nicht mit einem Endpunkt versehen.
Das Ganze ist im KOMA-Script beschrieben:
Nach DUDEN steht in Gliederungen, in denen ausschließlich arabische Ziffern für die Num-
merierung verwendet werden, am Ende der Gliederungsnummern kein abschließender Punkt
(siehe [DUD96, R3]). Wird hingegen innerhalb der Gliederung auch mit römischen Zahlen
oder Groß- oder Kleinbuchstaben gearbeitet, so steht am Ende aller Gliederungsnummern ein
abschließender Punkt (siehe [DUD96, R4]). In KOMA-Script ist ein Automatismus eingebaut,
der diese etwas komplexe Regel zu erfüllen versucht.
Wenn der Endpunkt gewünscht ist, wähle die Option numbers=enddot. Für den Fall erscheint der Punkt in der Kapitelüberschrift und demzufolge auch in der Kopfzeile, Inhaltsverzeichnis usw. \autodot sorgt dann automatisch für einen Punkt an der richtigen Stelle in der Kopfzeile.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Stefan S

Beitrag von Stefan S »

Die Erklärung ist schlüssig und verständlich danke. Ich finde nur, dass meine Überschrift, die jetzt z.B folgendermaßen aussieht: "Chapter 1 Introduction" ohne jeglicher Trennung zwischen Kapitel und Titel des Kapitels komisch aussieht. Wenn das allerdings der Standard ist, behalte ich dies natürlich bei.

Antworten