在我的课程中,我想先在期间定义页面布局\DeclareOption
,然后在\newenvironment
声明期间对其进行修改。为此,我想使用fancyhdr
包。现在我的问题是 a) 我必须随后加载包\ProcessOptions
;b) 我不知道如何在环境中动态修改或扩展页面属性\newenvironment
。我基本上想要的是(伪代码):
\DeclareOption{test}{%
\fancypagestyle{aSix}{%
}
}
\ProcessOptions
\newenvironment{test2}{%
\fancypagestyle{aSix2}{
%Takes the pagestyle aSix and update it with additional values}
我怎样才能做到这一点?
答案1
我建议使用另一种方法conditional
,比如说,如果使用了类选项,\ifaSix
则将其设置为true
。\aSixtrue
初级班
\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}