Problem mit der Platzierung der Seitenzahl

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit der Platzierung der Seitenzahl

Warum optionale Argumente nicht einfach schachtelbar sind

von KOMA » Do 8. Jan 2009, 16:55

CCC01 hat geschrieben:sprich wieso werden hier:
\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.

von CCC01 » Do 8. Jan 2009, 09:16

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:

\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:

\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

\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.

von KOMA » Mi 7. Jan 2009, 12:24

Schön, dass es jetzt funktioniert. Darf ich fragen, woher Du den Code
CCC01 hat geschrieben:
\rofoot[\mbox{\makebox[0pt][l]{\small\kern2em\thepage}}]{}%
hast? Nicht, dass der nicht funktionieren würde, aber etwas seltsam ist der schon. Zumindest \mbox (nicht aber die zugehörigen Klammern) ist überflüssig. Statt mit \kern2em erhält man in diesem Beispiel mit der LaTeX-Anweisung \hspace*{2em} das gleiche Ergebnis. Ohne das zu testen, gehe ich im konkreten Fall davon aus, dass \rofoot[\small\qquad\thepage]{} das auch gleiche leistet. Wobei ich aber auch noch \thepage durch \pagemark ersetzen und ggf. die Schrift des Elements pagenumber anpassen würde. Das ist natürlich alles eine Frage des Code-Geschmacks. Wie gesagt: Dein Code funktioniert und es gibt keine grundsätzlichen Bedenken dagegen.

von CCC01 » Mi 7. Jan 2009, 12:05

Entschuldigt die unüberlegte, hastige Vorgehensweise. Ist normalerweise wirklich nicht meine Art. Im übrigen konnte ich die Antwort auf mein ursprüngliches Problem dort finden wo sie zu erwarten war und ich scheinbar ständig darüber hinweg gelesen habe: KOMA-Script 3. Auflage .... :(

Der einfache Trick war mittels des optionalen Arguments den Stil scrheadings entsprechend anzuweisen, dass er sobald scrplain aktiviert wird die Seitenzahl wie gewünscht in die rechte untere Box mittels:
\rofoot[\mbox{\makebox[0pt][l]{\kern2em\thepage}}]{}%
setzen soll und das ganze Thema hat sich erledigt.

Vielen Dank trotzdem für die Mühe und verbrauchten Nerven.

von KOMA » Mi 7. Jan 2009, 09:10

CCC01 hat geschrieben:Ich habe auch schon versucht mit \renewpagestyle{chapterpagestyle}... den Seitenstil der chapterseite umzudefinieren, da ich das so dank der Texte im Buch zu KOMA 3 so verstanden habe, aber er brachte mir während des Laufs immer einen Fehler
Dann wäre es gut gewesen, ein echtes Minimalbeispiel zu machen, das genau dieses Problem zeigt. Vermutlich wäre die Antwort dann gewesen, dass Du nochmal in die Anleitung schauen sollst, weil Du eben nicht "chapterpagestyle" mit \renewpagestyle umdefinieren sollst, sondern eventuell das Makro "\chapterpagestyle" mit \renewcommand. Bevor du das machst, solltest Du aber die Diskussion genau dieser Umdefinierung in der Anleitung lesen und dann eher die auf besagtest optionales Argument von \ohead etc. zurückgreifen, um die Paginierung für scrplain analog zu scrheadings zu definieren.

von KOMA » Mi 7. Jan 2009, 09:06

CCC01 hat geschrieben:Bis auf einen Fehler läuft es bei mir fehlerfrei, allerdings bin ich nicht ganz sicher woher dieser Fehler kommt...
Ein Fehler??? Dein neues Beispiel liefert duzende Fehlermeldungen, wobei die meisten davon Folgefehler von:
! LaTeX Error: There's no line here to end.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.1 \\d
       ocumentclass[ twoside,openright,titlepage,fleqn,numbers=noenddot,head...
sein dürften. Was da der Fehler ist, dürfte nicht schwer herauszufinden sein. Beseitigt man diesen, erhält man aber gleich:
Runaway argument?
! Paragraph ended before \ttl@format@ii was complete.
<to be read again> 
                   \par 
l.40 
Die Ursache dürfte dann sein, dass titlesec nicht sachgemäß verwendet wird. Kommentiert man die Verwendung von titlesec komplett aus, so läuft es durch und zeigt auch gleich, dass die Kapitelanfangsseiten einen anderen Kopf und Fuß als die Folgeseiten haben, nämlich den plain-Seitenstil scrplain, wie ich das bereits erklärt habe.

von CCC01 » Mi 7. Jan 2009, 08:57

Entschuldige bitte, das sollte kein Schreien ausdrücken, sollte in Mitten dieser rießigen Code-Teile, die zugegebenermaßen etwas sinnlos waren auf mein Edit hinweisen und die Frage in ein anderes Licht stellen.

Danke schon mal für die Hilfe! Ich denke mit dem jetzt eben nochmal leicht geänderten Minimalbeispiel kann man schon arbeiten und wenn man nicht ganz so übernächtigt ist wie ich heute, bin ich mir sicher, dass der letzte verbliebene Fehler sehr schnell gefunden und beseitigt werden kann.

Ich habe auch schon versucht mit \renewpagestyle{chapterpagestyle}... den Seitenstil der chapterseite umzudefinieren, da ich das so dank der Texte im Buch zu KOMA 3 so verstanden habe, aber er brachte mir während des Laufs immer einen Fehler und ich vermute, dass es damit zu tun hat, dass er noch keinen pagestyle namens chapterpagestyle definiert hat, denn wenn er das hätte sollte er mir einen Fehler ausgeben, wenn ich renewpagestyle mit defpagestyle ersetze...

Re: Problem mit der Platzierung der Seitenzahl

von KOMA » Mi 7. Jan 2009, 08:47

CCC01 hat geschrieben:Welche Möglichkeiten habe ich unter scrreprt die Formatierung von Kopf- und Fußzeile auf der ersten Seite eines neuen \chapter anderweitig als auf den folgenden Seiter desselben Chapters zu gestalten???
Hey, schrei mich doch nicht gleich an!:shock:

Wie der KOMA-Script-Anleitung zu entnehmen ist, werden Kopf und Fuß der Kapitelanfangsseiten mit dem Seitenstil, der in \chapterpagestyle (siehe Kapitel 3 der Anleitung zu KOMA-Script 3) abgelegt ist, gesetzt. In der Voreinstellung ist das der plain-Seitenstil. Wird auf den übrigen Seiten beispielsweise mit dem Seitenstil headings (oder scrheadings) gearbeitet, dann unterscheiden sich diese in der Voreinstellung bereits. Bei Verwendung von scrpage2 kann der Seitenstil scrheadings über das obligatorische Argument von \ihead, \chead, \ohead usw. konfiguriert werden, während der zugehörige plain-Seitenstil scrplain über das optionale Argument dieser Anweisungen konfiguriert werden kann. Zu scrpage2 siehe Kapitel 5 der Anleitung zu KOMA-Script 3. Man kann mit scrpage2 übrigens auch komplett eigene Seitenstile definieren und dann ggf. \chapterpagestyle ändern. Das ist Dank des vordefinierten Duos scrheadings+scrplain aber normalerweise nicht notwendig.

BTW: Dein KOMA-Script ist inzwischen über ein Jahr alt. Inzwischen ist KOMA-Script 3.02 aktuell und ich empfehle min. 3.01b zu verwenden. Die Liste der Bugs in den Versionen 2.98 bis 2.98b führt leider auch sehr hartnäckige Fehler auf, die erst in KOMA-Script 3 beseitigt wurden.

Und wenn ich schon dabei bin: Die Verwendung von \newfont kann bestenfalls als übler Hack bezeichnet werden. Richtig lädt man Fonts über nfss2 (siehe fntguide), also \fontfamily, \fontsize, \selectfont etc.

von CCC01 » Mi 7. Jan 2009, 08:42

\\documentclass[ twoside,openright,titlepage,fleqn,numbers=noenddot,headinclude,%1headlines,%
                fontsize=10pt,paper=a4,BCOR5mm,footinclude,cleardoublepage=empty,abstract=false%
                ]{scrreprt}
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
%\usepackage[ngerman]{varioref} 
\usepackage[ngerman,american]{babel} 
\usepackage{lipsum}
%\usepackage{ifthen}
%\usepackage[dvipsnames]{xcolor} %[dvipsnames]
%\definecolor{halfgray}{gray}{0.55}
%\definecolor{webgreen}{rgb}{0,.5,0}
%\definecolor{webbrown}{rgb}{.6,0,0}
\usepackage[scaled=0.85]{beramono}
%\newfont{\chapterNumber}{eurb10 scaled 5000}%
%\newfont{\chapterNumber}{pplr9d scaled 5000}
% ********************************************************************
% headlines
% ********************************************************************
\usepackage[automark]{scrpage2} % provides headers and footers (KOMA Script)
    \clearscrheadings
    \setheadsepline{0pt}
%        \renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}
%    \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}}
    \lehead{\mbox{\llap{\small\thepage\kern1em\vline}%
    \hspace{0.5em}\headmark\hfil}}
    \rohead{\mbox{\hfil{\headmark\hspace{0.5em}}%
    \rlap{\small{\vline}\kern1em\thepage}}}
\renewcommand{\headfont}{\normalfont\sffamily}
\renewcommand{\pnumfont}{\small\sffamily}

\usepackage{titlesec}
    \titleformat{\chapter}[block]%
%        {\relax}
{\normalfont\Large\sffamily}%
        {{
        \chapterNumber\thechapter%
        \hspace{10pt}\vline}}{10pt}%
%        {\spacedallcaps}

\begin{document} 
%\frenchspacing 
\raggedbottom
%\selectlanguage{ngerman} % american ngerman
\pagestyle{scrheadings} 
\chapter{Test} 
\lipsum[5] 

\lipsum[5] 

\lipsum[5] 

\lipsum[5] 

\lipsum[5] 

\lipsum[5] 

\lipsum[5] 

\lipsum[5] 

\chapter{Test2} 
\end{document}
Bis auf einen Fehler läuft es bei mir fehlerfrei, allerdings bin ich nicht ganz sicher woher dieser Fehler kommt...

von KOMA » Mi 7. Jan 2009, 08:32

Das Beispiel funktioniert nicht, sondern verursacht mehrere Fehler. Du solltest Beispiele vor dem posten immer testen. So ist es unbrauchbar. Außerdem wird empfohlen alle Pakete und Präambelanweisungen, die nicht zwingend notwendig sind, zu entfernen!

Nach oben