如何在派生类中处理基文档类选项?

如何在派生类中处理基文档类选项?

我想在派生类中处理传递给基类的选项。具体来说,我想article使用geometry包强制执行类的边距大小。

此外,我想禁止某些布局选项twosided,例如限制纸张大小并指定默认值。后者我能够找到这里,但我缺少有关如何处理派生类中的选项的信息。

这是我的 MWE:

\begin{filecontents}{myarticle.cls}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mymarticle}[2022/12/10 My white paper class]

\DeclareOption{a5paper}{\OptionNotUsed}
\DeclareOption{b5paper}{\OptionNotUsed}
\DeclareOption{legalpaper}{\OptionNotUsed}
\DeclareOption{landscape}{\OptionNotUsed}
\DeclareOption{twosided}{\OptionNotUsed}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass[oneside]{article}

\PassOptionsToPackage{left=10bp, right=10bp, top=10bp}{geometry}
\@ifclasswith{article}{a4paper}{
  \PassOptionsToPackage{bottom=20bp}{geometry}
}
{
  \PassOptionsToPackage{bottom=40bp}{geometry}
}
\RequirePackage{geometry}

\end{filecontents}
\documentclass{myarticle}

\usepackage{lipsum}

\begin{document}

\lipsum[1-20]

\end{document}

这满足了我的要求,但我认为这不是实现我想要的最佳方式。特别是,ifclasswith如果我想支持 3 个选项或与 结合,则需要大量嵌套twocolumns

相关内容