Meta
18-08-2010, 04:32
Hallo,
ich schreibe an einer Klasse zum Erstellen von Hörspielskripten.
Darin möchte ich in Kopf- und Fußzeile kenntlich machen, wenn es innerhalb eines Takes (also eines Redeabschnitts) einer Person zu einem Seitenumbruch kommt.
Ich repräsentiere einen Take durch eine eigene Umgebung, daher war meine Idee, eine Bool'sche Variable zu setzen und in Kopf- und Fußzeile zu überprüfen.
Hier der Code dazu:
\newboolean{insidetake}
\setboolean{insidetake}{false}
\newenvironment{take}[1]{%
\setboolean{insidetake}{true}%
\textbf{\uppercase{#1}}\\[-2em]%
\begin{addmargin}[10mm]{0pt}%
}{%
\setboolean{insidetake}{false}%
\end{addmargin}%
}
\fancyfoot[R]{\ifthenelse{\boolean{insidetake}}{(FORTSETZUNG)}{ }}
\fancyhead[L]{\ifthenelse{\boolean{insidetake}}{FORTSETZUNG:}{} }
Leider funktioniert das nicht.
Ein Minimalbeispiel:
\documentclass{scrbook}
\usepackage{lipsum}
\usepackage{ifthen}
\newboolean{insidetake}
\setboolean{insidetake}{false}
\newenvironment{take}[1]{%
\setboolean{insidetake}{true}%
\textbf{\uppercase{#1}}%
\begin{addmargin}[10mm]{0pt}%
}{%
\setboolean{insidetake}{false}%
\end{addmargin}%
}
\usepackage{fancyhdr}
\fancyhead[L]{\ifthenelse{\boolean{insidetake}}{FORTSETZUNG:}{} }
\fancyfoot[R]{\ifthenelse{\boolean{insidetake}}{(FORTSETZUNG)}{ }}
\pagestyle{fancy}
\begin{document}
\begin{take}{Tom}
\lipsum
\end{take}
\begin{take}{Erzähler}
\lipsum[1-2]
\end{take}
\begin{take}{Sam}
\lipsum[3]
\end{take}
\begin{take}{Erzähler}
\lipsum[1]
\end{take}
\end{document}
Auf der ersten Seite sollte KEIN Vermerk im Kopf sein!
Der Fußvermerk stimmt, aber der zugehörige Kopf auf der nächsten Seite fehlt.
Auf Seite 2 fehlt dann auch der Fuß und Seite 3 hat auch keinen Kopf.
Mache ich einen Denkfehler - und die Variable wird zur falschen Zeit ausgewertet?
Kennt jemand eine ander Möglichkeit, wie ich einen Block/Absatz auf einen Seitenumbruch überprüfen kann?
Vielen Dank schon mal!
ich schreibe an einer Klasse zum Erstellen von Hörspielskripten.
Darin möchte ich in Kopf- und Fußzeile kenntlich machen, wenn es innerhalb eines Takes (also eines Redeabschnitts) einer Person zu einem Seitenumbruch kommt.
Ich repräsentiere einen Take durch eine eigene Umgebung, daher war meine Idee, eine Bool'sche Variable zu setzen und in Kopf- und Fußzeile zu überprüfen.
Hier der Code dazu:
\newboolean{insidetake}
\setboolean{insidetake}{false}
\newenvironment{take}[1]{%
\setboolean{insidetake}{true}%
\textbf{\uppercase{#1}}\\[-2em]%
\begin{addmargin}[10mm]{0pt}%
}{%
\setboolean{insidetake}{false}%
\end{addmargin}%
}
\fancyfoot[R]{\ifthenelse{\boolean{insidetake}}{(FORTSETZUNG)}{ }}
\fancyhead[L]{\ifthenelse{\boolean{insidetake}}{FORTSETZUNG:}{} }
Leider funktioniert das nicht.
Ein Minimalbeispiel:
\documentclass{scrbook}
\usepackage{lipsum}
\usepackage{ifthen}
\newboolean{insidetake}
\setboolean{insidetake}{false}
\newenvironment{take}[1]{%
\setboolean{insidetake}{true}%
\textbf{\uppercase{#1}}%
\begin{addmargin}[10mm]{0pt}%
}{%
\setboolean{insidetake}{false}%
\end{addmargin}%
}
\usepackage{fancyhdr}
\fancyhead[L]{\ifthenelse{\boolean{insidetake}}{FORTSETZUNG:}{} }
\fancyfoot[R]{\ifthenelse{\boolean{insidetake}}{(FORTSETZUNG)}{ }}
\pagestyle{fancy}
\begin{document}
\begin{take}{Tom}
\lipsum
\end{take}
\begin{take}{Erzähler}
\lipsum[1-2]
\end{take}
\begin{take}{Sam}
\lipsum[3]
\end{take}
\begin{take}{Erzähler}
\lipsum[1]
\end{take}
\end{document}
Auf der ersten Seite sollte KEIN Vermerk im Kopf sein!
Der Fußvermerk stimmt, aber der zugehörige Kopf auf der nächsten Seite fehlt.
Auf Seite 2 fehlt dann auch der Fuß und Seite 3 hat auch keinen Kopf.
Mache ich einen Denkfehler - und die Variable wird zur falschen Zeit ausgewertet?
Kennt jemand eine ander Möglichkeit, wie ich einen Block/Absatz auf einen Seitenumbruch überprüfen kann?
Vielen Dank schon mal!