In meiner Klasse möchte ich das Seitenlayout zuerst während einer Deklaration definieren \DeclareOption
und dann während einer Deklaration ändern \newenvironment
. Dafür wollte ich das fancyhdr
Paket verwenden. Jetzt ist mein Problem, dass ich a) die Pakete danach laden muss \ProcessOptions
und b) ich nicht weiß, wie ich die Seiteneigenschaften in der \newenvironment
Umgebung im laufenden Betrieb ändern oder erweitern kann. Was ich grundsätzlich will (Pseudocode):
\DeclareOption{test}{%
\fancypagestyle{aSix}{%
}
}
\ProcessOptions
\newenvironment{test2}{%
\fancypagestyle{aSix2}{
%Takes the pagestyle aSix and update it with additional values}
Wie kann ich das machen?
Antwort1
Ich schlage vor, einen anderen Ansatz mit einem zu verwenden und dies conditional
beispielsweise auf mit festzulegen , wenn die Klassenoption verwendet wird.\ifaSix
true
\aSixtrue
Rudimentäre Klasse
\ProvidesClass{ishouldgivemoreinformation}
\newif\ifaSix
\DeclareOption{aSix}{\global\aSixtrue}
\ProcessOptions
\LoadClass{article}
\RequirePackage{fancyhdr}
\fancypagestyle{aSix}{%
\fancyhead[C]{Foo}
\renewcommand{\headrulewidth}{5pt}
}
\ifaSix
\fancypagestyle{aSix2}{%
\pagestyle{aSix}%
\fancyfoot[c]{Foobar}%
% Some updates here
}
\else
\fancypagestyle{aSix2}{%
\pagestyle{aSix}%
}
\fi
\endinput
driver.tex
\documentclass[aSix]{ishouldgivemoreinformation}
\pagestyle{aSix2}
\begin{document}
FOO
\end{document}