kvoptionsはローカル補完オプションを宣言します

kvoptionsはローカル補完オプションを宣言します

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}

関連情報