
tst
パッケージ内で次の宣言があるとします。kvoptions
\ProvidesPackage{tst}
...
\DeclareBoolOption{abc}
\DeclareComplementaryOption{cba}{abc}
両方のオプションをローカルとして宣言する正しい方法はどれですか?
\DeclareLocalOptions{abc}
それとも、
\DeclareLocalOptions{abc,cba}
両方とも同じ内部表現 (フラグ) を共有しているためですか?
答え1
の「ローカル」は、\DeclareLocalOptions
オプションが認識される場所を指します。たとえば、\usepackage
。しかし、そのような「ローカル」オプションはないでグローバル オプションとして指定されている場合、認識されます\documentclass
。
したがって、この「ローカル」の意味はオプションの実装を指すものではなく、両方のオプション\DeclareLocalOptions
がグローバル オプションとして認識されないようにするには、両方のオプションを で指定する必要があります。
\ProvidesPackage{tst}
...
\DeclareBoolOption{abc}
\DeclareComplementaryOption{cba}{abc}
\DeclareLocalOptions{abc, cba}