Seite 1 von 1

Fancyhdr Kopfzeile im Inhaltsverzeichniss unterscheiden

Verfasst: Fr 7. Nov 2014, 11:58
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} 

Verfasst: Fr 7. Nov 2014, 13:27
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

Verfasst: Fr 7. Nov 2014, 16:13
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.