PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abstand bei \rightmark: Kaptielnummer und Überschrift



FelixDamrau
03-07-2008, 09:51
Ich habe (mal wieder) eine Frage.

Wie groß ist der Abstand, wenn ich \rightmark in der Kopfzeile nutze zwischen Kapitelnummer und der Kapitielüberschrift?

Ich habe leider keine Idee, wie ich das selber herausfinden kann.
Eswäre dementsprechend auch schön, wenn mir jemand sagen könnte wie man den Quellcode vorprogrammierter Befehle (wie eben z.B. \rightmark) anschauen kann.

vielen Dank!
Felix

PS:
So nutze ich rightmark im Moment.

\fancypagestyle{style_normal}{
\fancyhead[L]{\slshape \rightmark} %Kapitel Kopfzeile links
\fancyhead[R]{\thepage} %Seitenzahl in Kopfzeile rechts
}

Stefan_K
03-07-2008, 12:24
Hallo Felix,

\rightmark wird in latex.ltx definiert und kann dort nachgelesen werden. Mit \markboth und \markright wird \rightmark verändert, Du könntest also nach Aufrufen dieser beiden Befehle im Quellcode der von Dir genutzten Dokumentklasse suchen bzw. in fancyhdr selbst. Die Befehle werden auch gern durch \chaptermark bzw. \sectionmark aufgerufen.

Viele Grüße,

Stefan

FelixDamrau
03-07-2008, 12:46
Danke Stefan!

Ich habe das gefunden, allerdings geht es über meine latex Kenntnisse heraus.

Das sind die Teile der latex.ltx in denen rightmark vorkommt.
Wo ist denn hier der Abstand definiert?

\let\@leftmark\@firstoftwo
\let\@rightmark\@secondoftwo
\def\markboth#1#2{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
\unrestored@protected@xdef\@themark {{#1}{#2}}%
\@temptokena \expandafter{\@themark}%
\mark{\the\@temptokena}%
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
\def\markright#1{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
\expandafter\@markright\@themark {#1}%
\@temptokena \expandafter{\@themark}%
\mark{\the\@temptokena}%
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
\def\@markright#1#2#3{\@temptokena {#1}%
\unrestored@protected@xdef\@themark{{\the\@temptok ena}{#3}}}
\def\leftmark{\expandafter\@leftmark\botmark\@empt y\@empty}
\def\rightmark{\expandafter\@rightmark\firstmark\@ empty\@empty}

Stefan_K
03-07-2008, 13:22
Hi Felix,

darin steht nur das Gerüst. Der bewusste Abstand wird über die Parameter gesetzt, mit \markboth und \markright, das tut die Dokumentklasse oder ein Zusatzpaket wie fancyhdr.
Wenn Du Deine Dokumentklasse verrätst, könnte ich daraus zitieren bzw. schau darin selbst nach \markboth und \markright. In Standardklassen könnte der Abstand ein simples Leerzeichen sein, in KOMA-Klassen \enskip, was 0.5em entspricht.

Stefan

FelixDamrau
03-07-2008, 13:35
Ich nutze
\documentclass[12pt, a4paper, oneside]{scrartcl}
und
\usepackage{fancyhdr}
und
\pagestyle{fancy}

~~

Es wäre auch super, wenn du mir zeigt wo du das gefunden hast, was du gleich postest. Und schonmal 1000 dank!

Stefan_K
03-07-2008, 14:05
Hi Felix,

Du findest den Quellcode von scrartcl, wenn Du auf der Kommandozeile eingibst:

kpsewhich scrartcl.cls
Ich verwende es unter Linux, das Kommando sollte jedoch auch unter MiKTeX funktionieren.

Etwas beispielhaft herausgegriffen:

\renewcommand*{\subsectionmark}[1]{%
\markright{\ifnum \c@secnumdepth >\@ne%
\subsectionmarkformat\fi ##1}}%

\sectionmarkformat und \subsectionmarkformat sind so definiert:

\newcommand*\sectionmarkformat{\thesection\autodot \enskip}
\newcommand*\subsectionmarkformat{\thesubsection\a utodot\enskip}
Die Definition von \enskip aus latex.ltx:

\def\enskip{\hskip.5em\relax}

Stefan

FelixDamrau
03-07-2008, 14:12
Danke!

Das Kommando "kpsewhich scrartcl.cls" funktioniert auch unter windows mit miktex - Sehr praktisch!

Danke für deine Hilfe. Das hätte ich alleine nicht geschafft. Aber so geht's nun und ich habe was gelernt. Danke. Danke. Danke.