PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kopfzeile je nach Inhalt von chapter/section variabel



sharpType
31-08-2009, 23:53
Hallo Profis,

ich hab da ein komisches Problem. Ein recht blödes:

Ich definiere meine Kopfzeilen wie folgt:



\renewcommand{\chapterpagestyle}{fancy}
\pagestyle{fancy} %eigener Seitenstil
\renewcommand{\chaptermark}[1]{\markboth{\thechapter\quad #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\quad #1}{}}
\fancyhf{} %alle Kopf- und Fußzeilenfelder bereinigen
\fancyhead[L]{\small\upshape\nouppercase\leftmark} %Kopfzeile links
\fancyhead[R]{\small\upshape\nouppercase\rightmark} %Kopfzeile rechts


Links obene steht also das aktuelle Kapitel und rechts die aktuelle Section.
Alles klar, aber bei den Verzeichnissen zb beim INhaltsverzeichnis steht links sowie rechts Inhaltsverzeichnis. Das will ich nicht. Rechts soll nur die section stehen, wenn diese anders als das aktuelle Kapitel ist.

Eine Teilösung wäre nun:

\renewcommand{\sectionmark}[1]{\markright{\thesection\quad #1}{}}

erst nach den Verzeichnissen einzufügen. Eben da, wo der Text los geht. Allerdings, wenn ich nicht gleich mit einer section nach einem chapter beginne, steht auch auf der ersten Seite ab der das Kapitel los geht links sowie rechts oben auf der Seite das gleiche.

Daher: Kann man irgendwie eine Abfrage formulieren, das rechts nur die section angezeigt werden soll, wenn diese anders als das aktuelle Kapitel ist?:confused:

Vielen dank

sharpType
01-09-2009, 01:44
hmm ich glaube das geht gar nicht oder? ich habe mir mal so eine if abfrage gebastelt aber die wird natürlich nur ein einziges mal durchgelaufen. theoretisch müsste diese if abfrage bei jeder neuen seite überprüft werden.

kann man die abfrage so platzieren, das sie bei jeder neuen seite überprüft wird?

sharpType
01-09-2009, 01:51
ok es liegt warscheinlich an der uhrzeit :eek:

es funktioniert natürlich wenn ich die abfrage in die definition packe also:

\fancyhead[R]{
\ifthenelse{\equal{\leftmark}{\rightmark}}{}{\smal l\upshape\nouppercase\rightmark}
}


mit dem paket: "ifthen" :)