Seite 1 von 1

Unterschiedliche Kopfzeilen

Verfasst: Mi 6. Apr 2011, 08:54
von FireFighter
Hallo,

erstmal möchte ich euch begrüßen, bin nämlich neu hier :)

Ich versuche gerade in einem Dokument eine andere Kopfzeile zu erstellen, als für die restlichen Seiten.. leider funktioniert das nicht so wie ich es gertn hätte...

Ich habe schon diverse Dokumentationen und Beiträge gelesen, aber irgendwie finde ich den Fehler nicht... Das pdf wird zwar erstellt und sieht eigentlich auch so aus, wie es soll, allerdings wird abgezeigt, dass 3 Fehler da wären...

Ich hab mal folgendes Minimalbeispiel erstellt:
\documentclass[10pt,a4paper]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage{ngerman}

\usepackage{graphicx}		%Graphics

\usepackage{fancybox}

\usepackage{color}

\usepackage{geometry}
\geometry{a4paper, top=35mm, left=20mm, right=20mm, bottom=25mm, headsep=12mm, footskip=12mm}

%---------------------------
\usepackage[automark]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadings
\clearscrplain
\lohead{\headmark}
\ihead{\includegraphics[width=0.10\textwidth]{logo.jpg}}
\chead{\large{\textbf{\sffamily{\textcolor{red}{Titel ab S. 2}}}}}
\ohead{\includegraphics[width=0.10\textwidth]{logo.jpg}}
\lofoot{}
\cofoot{\pagemark}
\rofoot{}
\setheadsepline{.4pt} % Linie unter dem Head
\setfootsepline{.4pt} % Ganzunten
%---------------------------------------------

\begin{document}

\thispagestyle{\chead{\large Titel Mitte}}

Irgendein Text

\newpage

weiterer text

\end{document}
Die fehlermeldung dazu lautet:

! Missing \endcsname inserted.
<to be read again>
\let
l.50 \thispagestyle{\chead{\large Titel Mitte}}

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Missing \endcsname inserted.
<to be read again>
\let
l.54 \newpage

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Extra \endcsname.
\@nameuse #1->\csname #1\endcsname

l.54 \newpage

Schonmal danke für eure Mühe und ich hoffe, dass ihr mir helfen könnt :)

Ich habe mal das pdf, das erstellt wurde angehängt... so soll eigentlich das Dokument auch aussehen...

Verfasst: Mi 6. Apr 2011, 09:16
von KOMA
Das Argument von \thispagestyle muss ein Seitenstil sein, siehe KOMA-Script-Anleitung, scrguide.pdf, Ausgabe 2011-04-02, Seite 86f. Man kann da nicht einfach irgendwelche Anweisungen reinwerfen.

Übrigens ist es auch nicht ganz ohne Risiko, im Seitenkopf (oder Fuß) direkt \includegraphics zu verwenden. Wenn nämlich eine \includegraphics-Anweisung im Text einen Seitenumbruch auslöst, dann kann es passieren, dass graphicx intern Parameter der beiden Anweisungen durcheinanderwirbelt. Sicherer ist es, wenn man das Bild für den Kopf oder Fuß in eine Box packt und dann diese verwendet.
\documentclass[10pt,a4paper,headsepline,footsepline]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage[ngerman]{babel}% Paket ngerman ist veraltet

\usepackage[demo]{graphicx}% ich habe Deine Bilder nicht also "demo"
\usepackage{xcolor}% ist color überlegen

\usepackage{afterpage}

\usepackage{geometry}
\geometry{a4paper, top=35mm, left=20mm, right=20mm, bottom=25mm, headsep=12mm,
  footskip=12mm}

%---------------------------
\newsavebox{\LogoBox}
\AtBeginDocument{% graphicx ist er nach \begin{document} komplett
                 % initialisiert!
  \savebox{\LogoBox}{%
    \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{% Oft ist das Logo höher als
                                % der eigentliche Kopf und soll einfach in den
                                % oberen Rand ragen. Falls das nicht so ist,
                                % einfach die \raisebox-Anweisung und die
                                % zugehörige schließende Klammer
                                % auskommentieren.
      \includegraphics[width=0.10\textwidth,height=2\baselineskip]{logo.jpg}%
    }% schließende Klammer der \raisebox
  }%
}

\usepackage{scrpage2}% Da Du ursprünglich \headmark tatsächlich nicht
                         % verwendest, bringt auch automark nichts
\pagestyle{scrheadings}
\clearscrheadfoot% leert scrheadings und scrplain
\ihead{\usebox{\LogoBox}}
\chead{\headmark}
\ohead{\usebox{\LogoBox}}
\cfoot{\pagemark}
\setkomafont{pagehead}{\Large\bfseries\sffamily\color{red}}
%---------------------------------------------

\begin{document}

\markright{Titel Mitte}\afterpage{\markright{Titel ab Seite 2}}

Irgendein Text

\newpage

weiterer text

\end{document}
Da bei scrartcl der Seitenstil scrplain außer für die Seite mit dem Titelkopf nicht verwendet wird, könnte man auch diesen nutzen:
\documentclass[10pt,a4paper,headsepline,footsepline]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage[ngerman]{babel}% Paket ngerman ist veraltet

\usepackage[demo]{graphicx}% ich habe Deine Bilder nicht also "demo"
\usepackage{xcolor}% ist color überlegen

\usepackage{geometry}
\geometry{a4paper, top=35mm, left=20mm, right=20mm, bottom=25mm, headsep=12mm,
  footskip=12mm}

%---------------------------
\newsavebox{\LogoBox}
\AtBeginDocument{% graphicx ist er nach \begin{document} komplett
                 % initialisiert!
  \savebox{\LogoBox}{%
    \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{% Oft ist das Logo höher als
                                % der eigentliche Kopf und soll einfach in den
                                % oberen Rand ragen. Falls das nicht so ist,
                                % einfach die \raisebox-Anweisung und die
                                % zugehörige schließende Klammer
                                % auskommentieren.
      \includegraphics[width=0.10\textwidth,height=2\baselineskip]{logo.jpg}%
    }% schließende Klammer der \raisebox
  }%
}

\usepackage[plainheadsepline,plainfootsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot% leert scrheadings und scrplain
\ihead[\usebox{\LogoBox}]{\usebox{\LogoBox}}
\chead[Titel Mitte]{Titel ab Seite 2}
\ohead[\usebox{\LogoBox}]{\usebox{\LogoBox}}
\cfoot{\pagemark}
\setkomafont{pagehead}{\Large\bfseries\sffamily\color{red}}
%---------------------------------------------

\begin{document}

\thispagestyle{plain}

Irgendein Text

\newpage

weiterer text

\end{document}
Und last but not least kann man natürlich \chead auch einfach innerhalb des Dokuments verwenden oder in der Kopfdefinition (aber bitte nur dort!) mit \ifnum\value{page} arbeiten.

Die Möglichkeiten, das korrekt zu machen sind also sehr vielfältig.

Verfasst: Mi 6. Apr 2011, 10:54
von FireFighter
Vielen Dank für die Hilfe...

Wie müsste ich das abändern, so dass ich rechts und links unterschiedliche Logis (Grafikdateien) einbinden könnte?

Verfasst: Mi 6. Apr 2011, 11:06
von Sepp99
Das geht ja eigentlich aus dem Code hervor: du erzeugst dir einfach eine zweite LogoBox
\newsavebox{\LogoBox2}
und packst da dein Bild rein.
Gruß, Sepp.-

Verfasst: Mi 6. Apr 2011, 11:16
von FireFighter
Genau das habe ich probiert, aber danach hab ich dann einen Fehler "missing \begin{document}"...

Und das Dokument sieht nicht so aus wie es soll... Dort wo die Logos sein sollten steht eine "2" und eines der beiden logos erscheint im text...

Wahrscheinlich hab ich irgendwo einen saudummen Fehler reingebaut ;)

Verfasst: Mi 6. Apr 2011, 11:37
von KOMA
Sepp99 hat geschrieben:Das geht ja eigentlich aus dem Code hervor: du erzeugst dir einfach eine zweite LogoBox
\newsavebox{\LogoBox2}
und packst da dein Bild rein.
Makronamen können keine Ziffern enthalten, sondern nur Buchstaben. Das gilt auch, wenn das Makro eine Box referenziert. \LogoBoxA oder \LogoBoxII würde im Gegensatz funktionieren.

Verfasst: Mi 6. Apr 2011, 11:47
von FireFighter
Super.... vielen Dank :)

Mein Tag ist gerettet :)

Ich hoffe, dass ich auch mal so nützlich hier helfen kann :)

Grüße, FireFighter

Verfasst: Mi 6. Apr 2011, 12:16
von Sepp99
KOMA hat geschrieben:Makronamen können keine Ziffern enthalten, sondern nur Buchstaben. Das gilt auch, wenn das Makro eine Box referenziert. \LogoBoxA oder \LogoBoxII würde im Gegensatz funktionieren.
Das kommt davon, wenns nicht gleich getestet wird. :oops:

Ist der Ruf erst ruiniert
lebt sichs völlig ungeniert.
(W. Busch)


Sepp.-