PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrzeilige, individuelle Kopfzeile auf allen Seiten



mädesüss
15-10-2009, 16:38
Hallo
Habe per Suche nix gefunden, das mich weiterbringen könnte...
Also, ich möchte ein Dokument erstellen, dass aus etwa 6 bis 8, zum Teil mehrseitigen sections besteht. Auf jeder Seite soll es eine Kopf- und eine Fusszeile haben. Das ist ja eigentlich auch kein Problem, aber die Kopfzeile soll drei Zeilen umfassen und für jede section anders sein. Also etwas in der Art von:

erste Zeile (fix)
zweite Zeile (individuell)
dritte Zeile (individuell)___________________________Name

Das Individuelle besteht darin, dass in der zweiten Zeile immer ein anderer Titel (aber nicht der section-titel) und in der dritten Zeile immer ein anderes Datum stehen sollte. Auf welcher Zeile der Name steht spielt keine Rolle. Auch in der Fusszeile soll ein wechselndes Datum (nicht das gleiche wie im Kopf) stehen.

Was ich bis jetzt geschafft habe, ist eine dreizeilige aber immer gleiche Kopfzeile mit fancyhdr:


\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

\usepackage{fancyhdr}
\setlength{\headheight}{45pt}
\pagestyle{fancy} \lhead[9pt]{Erste Zeile\\Titel\\date 1} \rhead[9pt]{Name} \lfoot[9pt]{date 2} \rfoot[9pt]{\pagemark} \cfoot{}

\begin{document}

\section*{Titel1}
\blindtext[10]
\newpage
\section*{Titel2}
\blindtext[10]

\end{document}

Oder eine einzeilige Kopfzeile, die zwar auf die einzelnen sections anpassbar ist, aber dafür auch nur auf deren jeweils ersten Seite auftaucht...


\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{scrpage2}

\setlength{\headheight}{45pt}
\deftripstyle{WA1}[0pt][0.5pt]{Erste Zeile \\ Titel 1 \\ date 1.1}{}{Name}{date 1.2}{}{\pagemark}

\deftripstyle{WA2}[0pt][0.5pt]{Erste Zeile \\ Titel 2 \\ date 2.1}{}{Name}{date 2.2}{}{\pagemark}

\begin{document}

\section*{Titel1}
\thispagestyle{WA1}
\blindtext[10]
\newpage
\section*{Titel2}
\thispagestyle{WA2}
\blindtext[10]

\end{document}


Mein Frage ist nun, wie ich das zusammen krieg, also drei Zeilen auf allen Seiten, die ich für die einzelnen sections anpassen kann? Ist das mit einem meiner beiden Versuche (die ich übrigens teils aus dem Forum zusammenkopiert habe...) irgendwie machbar?
Danke schon mal für eure Hilfe :)

Xenara
16-10-2009, 08:49
Ordentliche, funktionierende, echt minimale Minimalbeispiele :)

Deinen ersten Wunsch habe ich mal versucht umzusetzen. Und zwar habe ich 3 neue Befehle definiert, mit denen du den Titel für die Kopfzeile, das erste Datum und das zweite Datum manuell setzen kannst. Die Erläuterungen findest du als Kommentare im Code.

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}



% Definiert einen neuen Befehl mit einem Argument (in den Fall wird es Text sein):
\newcommand{\defheadertitle}[1]{}
\newcommand{\defheaderdatea}[1]{}
\newcommand{\defheaderdateb}[1]{}

% Hier wird wieder ein neuer Befehl definiert,
% der einfach das ausgibt, was mit den defheader...-Befehlen oben
% als Text definiert wurde.
% Die header...-Befehle werden als Variable in die Kopfzeilen-Definition eingesetzt.
\newcommand{\headertitle}{\defheadertitle}
\newcommand{\headerdatea}{\defheaderdatea}
\newcommand{\headerdateb}{\defheaderdateb}

% Jetzt nochmal ein neuer Befehl.
% Das ist der Befehl, der dann im Dokument auch verwendet wird.
% Er definiert jedesmal, wenn er aufgerufen wird, den defheader...-Befehl um,
% denn das ist ja der Text in der Kopfzeile, der ja je nach Kapitel
% verändert werden soll.
\newcommand{\htitle}[1]{\renewcommand{\defheadertitle}{#1}}
\newcommand{\hdatea}[1]{\renewcommand{\defheaderdatea}{#1}}
\newcommand{\hdateb}[1]{\renewcommand{\defheaderdateb}{#1}}

% Hier jetzt die eigentliche Definition der Kopfzeilen:
\usepackage{fancyhdr}
\setlength{\headheight}{45pt}
\pagestyle{fancy}
\lhead[9pt]{%
Erste Zeile\\%
\headertitle \\ % Das ist der manuell definierte Titel
\headerdatea % Das ist das manuelle Datum 1
}%
\rhead[9pt]{Name}%
\lfoot[9pt]{\headerdateb} % Und hier manuelles Datum 2
\rfoot[9pt]{\pagemark} \cfoot{}



\begin{document}

\section*{Titel1}
\htitle{Der beliebige Titel in der Kopfzeile.} % Definition des Textes, der in die Kopfzeile soll.
\hdatea{1.1.1111} % Definition des ersten manuellen Datums.
\hdateb{2.2.2222} % Definition des zweiten manuellen Datums.
\blindtext[10]


\section*{Wieder ein Titel in der Kopfzeile.}
\htitle{Der beliebige Titel in der Kopfzeile}
\hdatea{3.3.3333}
\hdateb{4.4.4444}

\blindtext[10]


\section*{Titel 3}
\htitle{Und ein nächster Kopfzeilentext.}
\hdatea{5.5.5555}
\hdateb{6.6.6666}

\blindtext[10]


\section*{Ab hier keine eigenen Kopfzeilen mehr und keine Daten.}
% Wenn keine manuellen Kopfzeilen mehr erscheinen sollen,
% muss trotzdem ein Argument übergeben werden, sonst gibts einen
% "There's no line here to end"-Fehler.
% Also wird einfach etwas leeres übergeben, hier eine mbox.
\htitle{\mbox{}}
\hdatea{\mbox{}}
\hdateb{\mbox{}}

\blindtext[10]

\end{document}

mädesüss
16-10-2009, 13:40
Danke, für deine schnelle Hilfe! Es schaut genau so aus, wie ichs wollte aber niemals selbst hinbekommen hätte :)