Formatierung unterschiedliche Kopfzeile - es fehlt noch was

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


Hanra
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 29. Aug 2020, 19:01

Formatierung unterschiedliche Kopfzeile - es fehlt noch was

Beitrag von Hanra »

Liebe community .

Ich möchte bzw. darf für den vorderen Teil (frontmatter), den Hauptteil (main) und den Anhang (backmatter) unterschiedliche Kopfzeilen verwenden. Leider bekomme ich das mit dem u. g. Code nicht hin. Wenn ich für main ebenfalls ein fancypagestyle{main} verwende, verändert sich das Format komplett.
Das Ergebnis soll sein: Frontmatter: Nur Chaptername und römische Ziffern / Main: # und Chaptername sowie arabische Ziffern und Backmatter: Chaptername sowie arabische Ziffern. Das meiste funktioniert bereits. Könnt ihr mir bitte weiterhelfen?
LG Hanra

Code: Alles auswählen

[
\documentclass[12pt,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[a4paper,width=150mm, top=25mm, bottom=25mm, bindingoffset=6mm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
%\usepackage[scaled]{uarial}
\setsansfont{Arial}
%\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[]{unicode-math}
\setmainfont[Mapping=tex-text,Numbers={OldStyle,Proportional},Ligatures={TeX, Common}]{TeX Gyre Termes}
\setmonofont[Mapping=tex-text,Scale=0.8]{TeX Gyre Cursor}
\setsansfont[Mapping=tex-text,Numbers=OldStyle,Ligatures=Common]{TeX Gyre Heros}
\setmathfont[math-style=ISO,bold-style=ISO,vargreek-shape=TeX]{TeX Gyre Pagella Math}
\usepackage{makeidx}
\usepackage{multirow}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyhead[L]{\nouppercase{\leftmark}}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyhead[EL]{\thepage} 
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{%

\markboth{#1}{#1}}
}
%\fancypagestyle{main}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\chaptermark}[1]{ 
    \markboth{\thechapter{} #1} {} }

\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\nouppercase{\leftmark} }
\fancyhead[LO]{\nouppercase{\leftmark} 
}

\graphicspath{images/}
\usepackage[style=alphabetic]{biblatex}
\addbibresource[style=alphabetic]{references.bib}
\usepackage{setspace}
\setstretch{1.1}
\usepackage{acronym}

\parindent0cm
\renewcommand*{\familydefault}{\sfdefault}


\makeatletter 
% Define frontmatter, mainmatter and backmatter if not defined 
\@ifundefined{frontmatter}{% 
    \newcommand{\frontmatter}{% 
       %In Roemischen Buchstaben nummerieren (i, ii, iii) 
       \pagenumbering{roman} 
    } 
}{} 
\@ifundefined{mainmatter}{% 
    % scrpage2 benoetigt den folgenden switch 
    % wenn \mainmatter definiert ist. 
%    \newif\if@mainmatter\@mainmattertrue 
    \newcommand{\mainmatter}{% 
       % -- Seitennummerierung auf Arabische Zahlen zuruecksetzen (1,2,3) 
       \pagenumbering{arabic}% 
       \setcounter{page}{1}% 
    } 
}{} 
\@ifundefined{backmatter}{% 
%    \newif\if@backmatter\@backmattertrue 
    \newcommand{\backmatter}{ %
       %In Roemischen Buchstaben nummerieren (i, ii, iii) 
       \pagenumbering{roman} 
    } 
}{} 
\makeatother 

\begin{document}
{\sffamily
%\maketitle
\begin{titlepage}
   \begin{center}
       \vspace*{2cm}

\begin{Huge}
{xx}
\end{Huge}
       
\vspace{0.5cm} {\Large xx} \vspace{1cm} \textbf{xx}\\ \vspace{1cm} zxx \vspace{1cm} \textbf{xx} \vspace{0.5cm} \textbf{(xx)} \vspace{1cm}
von xx\\ \vspace{0.5cm} xx \\ \vspace{0.5cm} xx\\ \vspace{0.5cm} xx\\ \vspace{1.5cm} xx: \\ \vspace{0.5cm} xx\\ \vspace{0.5cm} xx\\ \vspace{1cm} xx
% \includegraphics[width=0.4\textwidth]{university}
\end{center} \end{titlepage} \thispagestyle{empty} \frontmatter \pagestyle{plain} \chapter{Vorwort} \chapter{Danksagung} xx \chapter{Abstrakt} xx \chapter{Abstract} xx \chapter{Abkürzungsverzeichnis} \begin{acronym}[SEPSEP] \acro{abb}[Abb.]{Abbildung} \end{acronym} \newpage \tableofcontents \listoffigures \listoftables \mainmatter \pagestyle{fancy} \chapter{Einleitung} xx \chapter{ssssssssss} xx \chapter{eeeeeeeeee} cccc \backmatter \appendix \chapter{Anhang} ffffffffff } \end{document}]

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

Re: Formatierung unterschiedliche Kopfzeile - es fehlt noch was

Beitrag von esdd »

Die Umdefinition von \chaptermark sollte nicht über den Seitenstil erfolgen. Wenn nur alle mainmatter-Kapitel nummeriert in der Kopfzeile erscheinen sollen, dann kannst Du \if@mainmatter zur Fallunterscheidung in der Definition von \chaptermark nutzen:

Code: Alles auswählen

\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\if@mainmatter\thechapter{}\ \fi#1}{}}
\makeatother

Beispiel:

Code: Alles auswählen

\documentclass[12pt]{book}
\usepackage[a4paper,width=150mm, top=25mm, bottom=25mm, bindingoffset=6mm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}

\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}% vor der Umdefinition von \chaptermark

\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\if@mainmatter\thechapter{}\ \fi#1}{}}
\makeatother

\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO,RE]{\nouppercase{\leftmark}}

\renewcommand*{\familydefault}{\sfdefault}

\usepackage{lipsum}% nur für Fülltext
\begin{document}
\begin{titlepage}
\begin{center}
  \Huge Titelseite\par
  \normalsize
  Weiterer Text auf der Titelseite
\end{center}
\end{titlepage}
\thispagestyle{empty}

\frontmatter 
\chapter{Vorwort}
  \lipsum[1]
\chapter{Danksagung}
  \lipsum[2]
\chapter{Abstrakt}
  \lipsum[3]
\chapter{Abstract}
  \lipsum
\tableofcontents
\listoffigures
\listoftables

\mainmatter
\chapter{Einleitung}
\lipsum
\chapter{ssssssssss}
\lipsum
\chapter{eeeeeeeeee}
\lipsum

\backmatter
\appendix
\chapter{Anhang}
\lipsum
\end{document}

Beachte, dass die Kapitelanfangsseiten den Seitenstil plain verwenden, damit nicht oberhalb der markanten Kapitelüberschriften deren Inhalt nochmals wiederholt wird. Solltest Du trotzdem wollen, dass auch Seiten mit dem plain-Stil die gleiche Kopfzeile bekommen, dann musst Du diesen Stil auch noch mittels \fancypagestyle in der gleichen Art wie den Seitenstil fancy definieren:

Code: Alles auswählen

\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyhead[LE,RO]{\thepage}%
  \fancyhead[LO,RE]{\nouppercase{\leftmark}}%
}

oder

Code: Alles auswählen

\fancypagestyle{plain}{}% plain verwendet dann gleiche Einstellungen wie fancy

Die Frage sieht mir übrigens wie ein Crosspost aus.


Antworten