将“几何”的所有选项转移到我的包中

将“几何”的所有选项转移到我的包中

在我的包中,我需要使用所有的geometry包选项,我可以landscape像这样定义一个选项

\DeclareOption{landscape}{
    \geometry{landscape}
} 

\ProcessOptions\relax

我希望找到一种简单的方法将它们全部作为选项插入到我的包中

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mypackage}[2018/02/14]

\RequirePackage{etoolbox}
\RequirePackage[margin=2cm]{geometry}
\RequirePackage{amsmath,amsfonts,amssymb}
\RequirePackage{tikz}
\RequirePackage[totpages,user]{zref}
\RequirePackage[explicit,compact]{titlesec}
\RequirePackage{fancyhdr}


\DeclareOption{landscape}{
    \geometry{landscape}
}

\DeclareOption*{\PackageWarning{mypackage}{Unknown ‘\CurrentOption’ option}}

\ProcessOptions\relax

\def\foo{foo}

\endinput  

答案1

如果您只有一个包,您需要所有选项,那么您可以执行以下操作:

\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{geometry}}

因为 \DeclareOption* 是在未检测到其他先前定义的选项时使用的命令。

相关内容