Problem mit der Platzierung der Seitenzahl

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren
CCC01
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Do 11. Dez 2008, 10:22

Beitrag von CCC01 »

Hi,

also beim Code habe ich mich einfach an dem orientiert, was in dem von mir verwendeten Paket "classicthesis.sty" für die Formatierung der Seitenzahlen im Kopf genutzt wurde nähmlich:

Code: Alles auswählen

\lehead{\mbox{\llap{\small\pagemark\hspace*{1em}\color{halfgray}%
    \vline}%
    \color{halfgray}\hspace{0.5em}\headmark\hfil}}%
wobei ich hier das \thepage durch \pagemark ersetzt habe. Darf ich fragen worin der Grund dafür liegt, dass ein weglassen der gescheiften Klammern des \mbos-Befehls inkl. der \mbox Anweisung zu einem Fehler führt, jedoch das bloße Weglassen des \mbox Befehls funktioniert?

sprich wieso werden hier:

Code: Alles auswählen

\rofoot[{
    \makebox[0pt][l]{
    \kern2em\pagemark}}
    ]{}%
die äußersten gescheiften Klammern innerhalb der eckigen Klammern benötigt? Die Schriften habe ich etwas weiter unten im Code mit

Code: Alles auswählen

\renewcommand{\headfont}{\normalfont\sffamily}
    \renewcommand{\pnumfont}{\small\sffamily}
noch angepasst.

Ich muss gesetehen, dass mir das LaTeX-Motto "Think in boxes" noch etwas Schwierigkeiten bereitet, aber ich mich schon langsam besser mit dem Konzept anfreunden kann.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2662
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Warum optionale Argumente nicht einfach schachtelbar sind

Beitrag von KOMA »

CCC01 hat geschrieben:sprich wieso werden hier:

Code: Alles auswählen

\rofoot[{
    \makebox[0pt][l]{
    \kern2em\pagemark}}
    ]{}%
die äußersten gescheiften Klammern innerhalb der eckigen Klammern benötigt?
Die eckigen Klammern sind im Gegensatz zu den geschweiften Klammern keine echten Argumentklammern. Vielmehr ist das optionale Argument ein "begrenztes Argument". Das Argument wird am Anfang von einer eckigen öffnenden Klammer und am Ende von einer schließenden Eckigen Klammer auf gleicher Ebene begrenzt. Die erste schließende eckige Klammer gleicher Ebene wäre die nach 0pt. Also wäre das optionale Argument von \rofoot schlicht »\makebox[0pt«. Das obligatorische Argument wäre dann »[« aus dem eigentlich zweiten optionalen Argument von \makebox. Mit den zusätzlichen geschweiften Klammern verhindert man das.

Man könnte übrigens \rofoot auch so definieren, dass das optionale Argument statt in eckigen Klammern, also zwischen »[« und »]«, stattdessen zwischen »>« und »<« stehen müsste. Das wäre dann schlicht etwas weniger intuitiv. Für die runden Klammern in der picture-Umgebung gilt übrigens das gleiche wie für die eckigen Klammern.

Ich glaube ich habe die Sache mit den "begrenzten Argumenten" bei der Erklärung zu \def im Wiki erklärt. Ich bin jetzt aber zu müde zum Nachschaun.

Antworten