PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kopfzeile \sectionmark in book funktioniert auf erster sectionseite nicht



wurstebrot
04-04-2009, 14:54
Hallo!
Ich schlage mich nun schon seit einigen Stunden mit einem Problem rum und kann es einfach nicht lösen.
Ich benutze das Paket fancyhdr, um bei einem doppelseitigen book auf der geraden Seite das Chapter, auf einer ungeraden Seite die section anzugeben.
Da einige Sectionnamen zu lang für die Kopfzeile sind, habe ich sie mit \sectionmark{} umdefiniert, was auch generell gut klappt. Nur wenn eine neue section auf einer rechten Seite anfängt, wird auf dieser einen Seite in der Kopfzeile der zu lange Name angegeben. Erst auf der nächsten rechten Seite ist es korrekt der kürzere.
Hat irgendjemand eine Idee, wie ich das ändern könnte?
Ich würde mich riesig über Hilfe freuen.
Vielen Dank und einen schönen Samstag
Barbara

\documentclass[12pt,twoside,a4paper,leqno,fleqn]{book}

\usepackage{fancyhdr}
\pagestyle{fancy} \fancyhead[ER]{\nouppercase{\leftmark}}
\fancyhead[EL]{\thepage} \fancyhead[OL]{\nouppercase{\rightmark}}
\fancyhead[OR]{\thepage} \cfoot{} \makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\hbox{} \vspace*{\fill} \vspace{\fill} \thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi} \makeatother

\renewcommand{\chaptermark}[1]{%
\markboth{\chaptername\ \thechapter{}. #1}{}}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection{}. #1}{}}

Stefan_K
04-04-2009, 15:04
Hallo Barbara,

rufe \sectionmark zusätzlich innerhalb des \section-Parameters auf:

\section[kurz]{lang\sectionmark{Kopf}}
\sectionmark{Kopf}

Viele Grüße,

Stefan

wurstebrot
04-04-2009, 15:26
Hallo Stefan,

vielen Dank für die schnelle Antwort.
Das funktioniert zwar, aber dann steht die Kurzversion ja auch im Inhaltsverzeichnis, und da soll wiederum die lange Version stehen...

Hast Du vielleicht noch eine Idee?

Danke und Gruß
Barbara

Stefan_K
04-04-2009, 16:02
Hallo Barbara,

dann schreib doch einfach die Langversion in den optionalen Parameter in eckigen Klammern. Den Parameter sollte es (wg. \sectionmark-Aufruf) geben, er darf aber den gleichen Text haben.

Stefan

wurstebrot
04-04-2009, 16:05
Jetzt hab ichs kapiert, stand wohl etwas auf dem Schlauch :)

1000 Dank, das funktioniert!