PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bedingte Fußzeile



Urban
02-01-2009, 13:08
Hallo zusammen

ich brauch hab folgendes Problem: Ich arbeite zusammen mit Anderen in einem Team an einem Latex - Dokument. Nun möchten wir das in der Fußzeile steht wer diesen Teil des Dokuments erstellt hat. Dabei sollte es immer eine Default Fußzeile geben falls kein "Wert" gesetzt ist

Ist sowas möglich ?

MFG

voss
02-01-2009, 13:19
ich brauch hab folgendes Problem: Ich arbeite zusammen mit Anderen in einem Team an einem Latex - Dokument. Nun möchten wir das in der Fußzeile steht wer diesen Teil des Dokuments erstellt hat. Dabei sollte es immer eine Default Fußzeile geben falls kein "Wert" gesetzt ist



\documentclass[12pt,a4paper]{scrartcl}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot{}
\makeatletter
\def\Bearbeiter#1{\def\@bearbeiter{#1}}
\Bearbeiter{}
\lfoot{Bearbeiter: \ifx\@bearbeiter\@empty keine Angabe\else\@bearbeiter\fi}
\makeatother
\begin{document}

\Bearbeiter{Icke}
foo
\clearpage
\Bearbeiter{}
bar
\clearpage
\Bearbeiter{Erasmus von Rotterdam}
baz
\clearpage

\end{document}

Herbert

Urban
03-01-2009, 11:40
Vielen Dank das ging ja schnell und einfach

cookie170
03-01-2009, 12:05
\documentclass[12pt,a4paper]{scrartcl}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot{}
\makeatletter
\def\Bearbeiter#1{\def\@bearbeiter{#1}}
\Bearbeiter{}
\lfoot{Bearbeiter: \ifx\@bearbeiter\@empty keine Angabe\else\@bearbeiter\fi}
\makeatother
\begin{document}

\Bearbeiter{Icke}
foo
\clearpage
\Bearbeiter{}
bar
\clearpage
\Bearbeiter{Erasmus von Rotterdam}
baz
\clearpage

\end{document}

Herbert

Hallo Herbert,

wenn Du eine freie Minute hast, dann erklär' doch, was es mit dem Makro mit einem vorangestellten @ auf sich hat. Die if-Verzweigung verstehe ich, aber wieso verschachtelst Du zwei Definitionen? Wieso baust Du bei einer dieses @ ein?

Danke!
Gruß,
Alexander

voss
03-01-2009, 19:01
wenn Du eine freie Minute hast, dann erklär' doch, was es mit dem Makro mit einem vorangestellten @ auf sich hat. Die if-Verzweigung verstehe ich, aber wieso verschachtelst Du zwei Definitionen? Wieso baust Du bei einer dieses @ ein?


das habe ich mir mal so angewöhnt, denn damit will ich verhindern, dass
der Anwender das Makro versehentlich überschreibt. Wegen @ muss er ja vorher
makeatletter machen, sodass man davon ausgehen kann, dass er weiß, was er
tut. Hätte ich nicht zwei Definitionen, dann müsste der Anwender ständig
\renewcommand\Bearbeiter[1]{...} machen, was natürlich auch geht, aber
weniger komfortabel ist.

Herbert

cookie170
03-01-2009, 22:49
Ähm, danke erstmal. Sollten wir uns je bei einer Dante-Verantstaltung begegnen, werde ich Dir einen schönes Viertel Riesling zur Belohnung für die Beantwortung meiner Fragen anbieten. Ich dachte nämlich, \def sei das gleiche wie \newcommand.

Das scheint aber nicht so zu sein. Na, schönen Sonntag,

Gruß,
Alexander

voss
04-01-2009, 09:16
Ich dachte nämlich, \def sei das gleiche wie \newcommand.

Das scheint aber nicht so zu sein.


prinzipiell schon, nur überschreibt \def gnadenlos eine vorhandene
Definition, \newcommand aber nicht. \def ist TeX- und \newcommand
LaTeX-Notation. Makros, die sowas wie \Test<1> erwarten, kann man
nur mit \def erreichen.

Herbert