Fancyhdr Kopfzeile im Inhaltsverzeichniss unterscheiden

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


Knigge
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Di 9. Sep 2014, 10:56

Fancyhdr Kopfzeile im Inhaltsverzeichniss unterscheiden

Beitrag von Knigge »

Hallo,

ich habe jetzt nach mehreren Tagen Fancy Studium endlich ein Layout welches mir gefällt. Nun habe ich leider noch ein Problem, welches ich nicht in den Griff bekomme. Und zwar steht beim Inhaltsverzeichnis, Links und Rechts in der Kopfzeile das gleiche. Dieses Problem zieht sich dann beim Abbildungsverzeichnis, Tabellenv... usw durch.
Gibt es eine Möglichkeit der Fallunterscheidung, sodass alles was vor dem ersten Kapitel ist, nur Links oben etwas in der Kopfzeile hat?

Hier mal mein Beispielcode um das Problem zu zeigen.
\listfiles
\documentclass[bibliography=totoc, ngerman, oneside,]{scrreprt} 

\usepackage[utf8]{inputenc}
\usepackage{babel} 
\usepackage{amsmath}	% Mathematik

%  Kopfzeile
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[C]{- \thepage{} -}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}

%eigener Header für normale Seiten:
\fancyhf{} 
% Definiere Kopfzeile neu:
\fancyhead[L]{\scshape{\nouppercase{\leftmark}}}
\fancyhead[R]{\scshape{\nouppercase{\rightmark}}}
\renewcommand{\headrulewidth}{0.4pt}

%lege fest was im Header erscheint:
\renewcommand{\sectionmark}[1]{\markright{\thesection \; #1}}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter\; #1}{}}


\usepackage{blindtext}

\begin{document}
\tableofcontents
\blinddocument 
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\end{document} 

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

Beitrag von esdd »

Du kannst den Befehl \ifstr aus dem bei Verwendung einer KOMA-Script Klasse sowieso geladenen Paket scrbase nutzen
\fancyhead[R]{\ifstr{\leftmark}{\rightmark}{}{\scshape{\nouppercase{\rightmark}}}}
In Deiner Umdefinition von \chaptermark und \sectionmark sollte vielleicht noch eine eventuelle Nutzung von \addchap und \addsec berücksichtigt werden
\renewcommand{\sectionmark}[1]{%
  \markright{\ifnumbered{section}{\thesection \; }{}#1}} 
\renewcommand{\chaptermark}[1]{%
  \markboth{\ifnumbered{chapter}{\chaptername\ \thechapter\; }{}#1}{}} 
Und es wäre ohnehin sinnvoller scrlayer-scrpage statt fancyhdr mit einer KOMA-Script Klasse zu verwenden:
\documentclass[bibliography=totoc, ngerman, oneside,]{scrreprt} 

\usepackage[utf8]{inputenc} 
\usepackage{babel} 
\usepackage{amsmath}   % Mathematik 

%  Kopfzeile 
\usepackage[automark,headsepline]{scrlayer-scrpage} 
\clearpairofpagestyles
\ihead{\leftmark}
\ohead{\ifstr{\leftmark}{\rightmark}{}{\rightmark}}
\cfoot[- \pagemark -]{}

\addtokomafont{pagehead}{\scshape}

%lege fest was im Header erscheint: 
\renewcommand{\sectionmark}[1]{%
  \markright{\ifnumbered{section}{\thesection \; }{}#1}} 
\renewcommand{\chaptermark}[1]{%
  \markboth{\ifnumbered{chapter}{\chaptername\ \thechapter\; }{}#1}{}} 


\usepackage{blindtext} 

\begin{document} 
\tableofcontents 
\addchap {Testkapitel}
\blindtext[10]
\addsec{Testabschnitt}
\blindtext[10]
\blinddocument 
\blinddocument 
\blinddocument 
\blinddocument 
\blinddocument 
\blinddocument 
\blinddocument 
\blinddocument 
\end{document} 
Gruß
Elke

Knigge
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Di 9. Sep 2014, 10:56

Beitrag von Knigge »

Mit der scrpage2 hatte ich auch schon experimentiert aber habe die gewünschte Formatierung nicht hin bekommen. Da war fancy einfacher. Dies ist jedoch eine sehr patente Lösung. Vielen Dank.

Antworten