在我的包中,我需要使用所有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* 是在未偵測到其他先前定義的選項時所使用的指令。