En mi clase quiero definir el diseño de la página primero durante una declaración \DeclareOption
y luego modificarla durante una \newenvironment
declaración. Para eso quería usar el fancyhdr
paquete. Ahora mi problema es que a) tengo que cargar los paquetes después \ProcessOptions
y b) no sé cómo puedo modificar o extender las propiedades de la página sobre la marcha en el \newenvironment
entorno. Lo que básicamente quiero (pseudocódigo):
\DeclareOption{test}{%
\fancypagestyle{aSix}{%
}
}
\ProcessOptions
\newenvironment{test2}{%
\fancypagestyle{aSix2}{
%Takes the pagestyle aSix and update it with additional values}
¿Cómo puedo hacer esto?
Respuesta1
Sugiero usar otro enfoque con a conditional
, digamos \ifaSix
y configurarlo en true
with \aSixtrue
si se usa la opción de clase.
Clase rudimentaria
\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}