PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kopfzeile: section-Überschrift manuell bestimmen



calex
19-08-2006, 18:59
Hallo,

ich benutze das fancyhdr Paket und habe meine section-Überschrift in der Kopfzeile stehen. Bei langen Section-Überschriften möchte ich das, was in die Kopfzeile kommt, kürzen bzw. selber bestimmen - ohne dass sich etwas am Inhaltsverzeichnis ändert. Ich habe 2 wenig befriedigende ansätze:

1) \section[text1]{lange section-Überschrift} -- da kommt leider text1 ins Inhaltsverzeichnis

2) \def\rightmark{text1} -- ändert das nur in der Kopfzeile. Wie stellt man das wieder auf "normal", dass bei der nächsten Überschrift die komplette und aktuelle section-Überschrift in die Kopfzeile kommt? Gibt es da eine bessere Möglichkeit? [Vielleicht auch ohne scrpage2 - oder verträgt sich das mit fancyhdr?]

Schönen Dank schonmal !

rais
19-08-2006, 19:26
Hallo und Herzlich Willkommen :)
hast Du es schon mit


\section{lange section-Überschrift}
\markright{text1}

probiert?
MfG,

calex
19-08-2006, 20:24
Das sieht schon besser aus.
Allerdings taucht dann die 'lange section-Überschrift' einmal auf der Seite, auf der die section beginnt, in der Kopfzeile auf. Auf den nachfolgenden Seiten ist dann 'text1' wie gewollt in der Kopfzeile.
Vertauscht man die Reihenfolge von \section und \markright erhält man nur einmal 'text1' und nachfolgend die lange Überschrift.
Umgehen kann man das durch doppelte Nennung von \markright:

\markright{text1}
\section{lange section-Überschrift}
\markright{text1}

Ist zwar nicht schön, funktioniert aber... Schönen Dank erstmal!

rais
19-08-2006, 20:36
Hmm,
dann vielleicht


\section{lange section-Überschrift}
\markboth{text1}{text1}
?
MfG,

calex
19-08-2006, 21:17
Da kommt das Gleiche raus.
Ich verstehe nichts von der Verarbeitung der Befehle - \section scheint ja die Variable(?) für die Kopfzeile zu belegen, wie \markright auch. Allerdings scheint der Compiler wenn er ein \section findet nicht mehr weiter zu 'gucken'!? Das nachträgliche \markright hat dann erst auf der nächsten Seite einen Effekt. Oder liegt das am pdflatex-Compiler?

Meine doppelte \markright - Nennung führt dann zu Murks, wenn die section auf einer neuen Seite anfängt...

rais
20-08-2006, 18:52
Uuups, mein Fehler :o


You should note that a ``left-hand heading'' is generated by the last
\markboth command before the end of the page, while a ``right-hand heading'' is generated by the first \markboth or \markright that comes on the page if there is one, otherwise by the last one before the page.
In diesem Sinne sollte

\markright{text1}
\section{lange section-Überschrift}
so tun.
MfG,

calex
21-08-2006, 23:33
Ja, danke - allerdings re-definiert das \section den Kopfzeileneintrag um, so dass auf den nachfolgenden Seiten wieder die lange Überschrift auftaucht! Nach der \section braucht man also ein weiteres \markright.

Ein weiteres Problem ist bei mir aufgetaucht: die Section-Nummer taucht nicht mehr im Titel auf. Wenn man die manuell einfügt, muss man aber beachten, dass sie vor der \section-Definition einen zu niedrig ist. Ich habe mir allerdings auch sagen lassen, dass man ähnliches mit einer memoir-class machen kann. Allerdings funktioniert Folgendes für mich auch in ausreichender Weise:



\addtocounter{section}{1} %section-Zähler einen hoch
\markright{\thesection\ kkurz}
\addtocounter{section}{-1} %section-Zähler einen runter
\section{laaaaaaaange section-Überschrift}
\markright{\thesection\ kkurz}

Schöne Grüße, MT