Fancyhdr Kopfzeile im Inhaltsverzeichniss unterscheiden

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Fancyhdr Kopfzeile im Inhaltsverzeichniss unterscheiden

von Knigge » Fr 7. Nov 2014, 16:13

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.

von esdd » Fr 7. Nov 2014, 13:27

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

Fancyhdr Kopfzeile im Inhaltsverzeichniss unterscheiden

von Knigge » Fr 7. Nov 2014, 11:58

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} 

Nach oben