PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit \chapterark in fancyhdr



Arnondk
13-09-2011, 16:50
Hallo zusammen,

ich verwende für mein Dokument die Klasse scrbook und das Paket fancyhdr um meine Kopf- und Fußzeilen anzupassen. Das klappt auch super, abgesehen von diesem einen Problem im Anhang:

"Links oben" habe ich so definiert:

\lhead{\slshape \leftmark}

Das sieht dann für den Anhang, den ich mit \begin{appendix} eingeleitet habe, so aus:

ANHANG A. XXX

Sobald ich aber in meiner Präambel folgenden Code einbinde...

\renewcommand{\chaptermark}[1]{ % Chapter anpassen
\markboth{
{\chaptername\ \thechapter: \ #1}}{}
}

... sieht es so aus:

Kapitel A: XXX

Es steht oben also Kapitel statt Anhang. Komischerweise steht im "body" der Seite korrekt Anhang A.

Kann mir jemand helfen?

Schweinebacke
13-09-2011, 19:18
Klar: Die KOMA-Script-Anleitung, scrguide.pdf, in der übrigens für die Verwendung mit den KOMA-Script-Klassen ausdrücklich scrpage2 statt fancyhdr empfohlen wird, dokumentiert im Umfeld von \chaptermark und \chaptermarkformat auch \chapappifchapterprefix und \chapapp. In den Standardklassen existiert \chapapp zwar AFAIK nicht, aber AFAIR gibt es dort zumindest \@chapapp.

Arnondk
15-09-2011, 10:26
Vielen Dank schon mal für die Antwort!

Ich bin jetzt auf scrpage2 umgestiegen. Ich habe mich auch recht gut zurechtgefunden, mit chapterprefix konnte ich Beispielsweise "Kapitel" bzw. "Anhang" vor die Kapitelnummer setzen.

Was ich allerdings noch nicht hinbekommen habe ist einen Doppelpunkt zwischen Kapitelnummer unt Text einzufügen, also "Kapitel 1: Einleitung" statt "Kapitel 1 Einleitung"

Wenn mir da noch jemand auf die Sprünge helfen kann bin ich sehr dankbar!


So sieht übrigens mein "Code" aus:

\usepackage{scrpage2}
\pagestyle{scrheadings}
\clearscrheadings
\clearscrplain
\clearscrheadfoot
\renewcommand{\captionformat}{:\ } % ohne Wirkung?
\ofoot{\pagemark}
\ihead{\headmark}


Edit:
chapterprefix kann ich doch nicht verwenden, da damit meine Chapter-Formattierung (s.u.) zerschossen wird (Der Kapiteltext steht dann nicht mehr da wo er sein soll)


\colorlet{chapter}{black!75}
\addtokomafont{chapter}{\color{chapter}}

\makeatletter% siehe De-TeX-FAQ
\renewcommand*{\chapterformat}{%
\begingroup% damit \unitlength-Änderung lokal bleibt
\setlength{\unitlength}{1mm}%
\begin{picture}(15,40)(0,5)
\setlength{\fboxsep}{0pt}
%\put(0,0){\framebox(20,40){}}%
%\put(0,20){\makebox(20,20){\rule{20\unitlength}{2 0\unitlength}}}%
\put(18,15){\line(1,0){\dimexpr
\textwidth-18\unitlength\relax\@gobble}}%
\put(0,3){\makebox(15,20)[r]{%
\fontsize{23\unitlength}{23\unitlength}\selectfont \thechapter
\kern-.05em% Ziffer in der Zeichenzelle nach rechts schieben
}}%
\put(15,15){\makebox(\dimexpr
\textwidth-20\unitlength\relax\@gobble,\ht\strutbox\@gobble)[l]{%
\ \normalsize\color{black}\chapapp~\thechapter\autod ot
}}%
\end{picture} % <-- Leerzeichen ist hier beabsichtigt!
\endgroup
}

\makeatother% siehe \makeatletter

Schweinebacke
15-09-2011, 11:12
Vielleicht genügt Dir ja ein kleiner Schubs, um Dir auf die Sprünge zu helfen:

Wenn Du statt des Punktes, den \autodot setzt einen Doppelpunkt haben willst, dann solltest Du in Deiner Definition \autodot eben durch einen Doppelpunkt ersetzen.

Dass \captionformat nichts mit \chapter, sondern mit \caption zu tun hat, sollte bereits aus dem Namen hervorgehen. Und da \captionformat bereits als »:\ « vordefiniert ist, ist auch logisch, dass sich gar nichts ändern, wenn man das wieder auf eben dieses »: \« umdefiniert.

BTW: Ich empfehle, Definitionen logisch einzurücken. Dann sind sie viel leichter zu lesen. Falls nicht klar ist, was ich meine: In den Beispielen in der KOMA-Script-Anleitung oder in den Dateien der KOMA-Script-Klassen selbst wird das auch gemacht.

Arnondk
15-09-2011, 13:10
Vielen Dank Schweinebacke, der Schubs hat geholfen.

Für alle, die auf das gleiche Problem stoßen, folgender Code bewirkt was ich wollte:


\renewcommand*{\chaptermarkformat}{
\chapapp~\thechapter:\enskip}