\PassOptionsToPackage の誤解ですか?

\PassOptionsToPackage の誤解ですか?

次のコードを使用したいのです\PassOptionsToPackageが、動作しません。何が間違っているのでしょうか?

\documentclass{article}

\RequirePackage{algorithm2e}
\PassOptionsToPackage{french}{algorithm2e}
\PassOptionsToPackage{vlined}{algorithm2e}

% \RequirePackage[french, vlined]{algorithm2e} % <-- This works.

\begin{document}

\begin{algorithm}
    \Switch{X}{
        \Case{1}{A}
        \Other{Other}
    }
\end{algorithm}


\end{document}

PS: 具体的には、スクリプトを使用して必要なパッケージのインポートを自動化し、実用的なソリューションを使用できるようにしていますが、それでも問題が発生する原因を理解したいと思っています。

答え1

置く必要があります\PassOptionsToPackage 前にパッケージをロードします。これにより、パッケージが将来ロードされる方法が変更されます。

この場合、これは必要ないかもしれません。言語オプションは通常\documentclass、すべてのパッケージに渡される に属します。ほとんどの場合、間接的にロードされたパッケージにオプション クラスを解決する方法は、最初にそれを直接ロードすることです。通常の方法でオプションをロードすることができない状況は何ですか?

関連情報