Na minha classe, quero definir o layout da página primeiro durante \DeclareOption
e depois modificá-lo durante uma \newenvironment
declaração. Para isso eu queria usar o fancyhdr
pacote. Agora meu problema é que a) tenho que carregar os pacotes depois \ProcessOptions
eb) não sei como posso modificar ou estender as propriedades da página rapidamente no \newenvironment
ambiente. O que eu basicamente quero (pseudocódigo):
\DeclareOption{test}{%
\fancypagestyle{aSix}{%
}
}
\ProcessOptions
\newenvironment{test2}{%
\fancypagestyle{aSix2}{
%Takes the pagestyle aSix and update it with additional values}
Como posso fazer isso?
Responder1
Sugiro usar outra abordagem com conditional
, say \ifaSix
e definir isso como true
with \aSixtrue
se a opção de classe for usada.
Aula rudimentar
\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}