\DeclareOption 中的 Fancypagestyle

\DeclareOption 中的 Fancypagestyle

在我的課堂上,我想先在聲明期間定義頁面佈局\DeclareOption,然後在\newenvironment聲明期間修改它。為此我想使用這個fancyhdr包。現在我的問題是a)我必須在之後加載包\ProcessOptionsb)我不知道如何在環境中動態修改或擴展頁面屬性\newenvironment。我基本上想要什麼(偽代碼):

\DeclareOption{test}{%
    \fancypagestyle{aSix}{%
    }
} 
\ProcessOptions
\newenvironment{test2}{%
\fancypagestyle{aSix2}{
%Takes the pagestyle aSix and update it with additional values}

我怎樣才能做到這一點?

答案1

我建議使用另一種方​​法conditional,例如,如果使用了 class 選項,請將\ifaSix其設為truewith 。\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}

相關內容