在我的包中,我需要使用所有的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* 是在未检测到其他先前定义的选项时使用的命令。