「ジオメトリ」のすべてのオプションをパッケージに転送します

「ジオメトリ」のすべてのオプションをパッケージに転送します

私のパッケージでは、パッケージオプションをすべて使用する必要があります。1つのオプションを次のように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

すべてのオプションが必要なパッケージが 1 つだけの場合は、次のようにします。

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

\DeclareOption* は、以前に定義された他のオプションが検出されなかった場合に使用されるコマンドだからです。

関連情報