依存パッケージしたい(RequirePackage

% プリアンブル
\RequirePackage[オプション]{パッケージ名}

自作パッケージで外部パッケージを読み込む際には、 \RequirePackage{}コマンドで設定します。

注釈

ドキュメントに読み込む際は \usepackage{}を使い、 プリアンブルに記述します。

バージョンを指定したい

\RequirePackage[オプション]{パッケージ名}[yyyy/mm/dd]

行末に[yyyy/mm/dd]をつけて、 その日付以降にリリースされたパッケージを利用できます。

注釈

特定のバージョンに固定することはできないみたいです。

依存パッケージを確認したい

$ kpsewhich パッケージ名.sty | xargs cat | rg RequirePackage

パッケージ内のRequirePackageで依存パッケージを確認できます。 依存関係をリストできるコマンドがないようなので、 いくつかのコマンドを組み合わせて確認しています。

$ kpsewhich luatexja-fontspec | xargs cat | rg Require
\RequirePackage{l3keys2e,luatexja}
\RequirePackage{fontspec}[2019/03/15]% v2.7c
    \RequirePackage{luatexja-fontspec-29e} % v2.9e
    \RequirePackage{luatexja-fontspec-29c} % v2.9c
  \RequirePackage{luatexja-fontspec-27c} % v2.7c

luatexja-fontspecの中で luatexjafontspecが読み込まれていることが確認できました。

\RequirePackage{iflang}
\RequirePackage{iftex}
  \RequirePackage{fontspec}
  \RequirePackage{unicode-math}
    \@ifpackagewith{fontsetup}{gfsdidotclassic}{\RequirePackage{ucharclasses}}{}
    \@ifpackagewith{fontsetup}{minion}{\RequirePackage{ucharclasses}}{}
    \@ifpackagewith{fontsetup}{msgaramond}{\RequirePackage{ucharclasses}}{}
    \@ifpackagewith{fontsetup}{palatino}{\RequirePackage{ucharclasses}}{}
    \RequirePackage{fourier-otf}
    \RequirePackage{xcharter-otf}
    \RequirePackage{libertinus-otf}

fontsetupの中で fontspecunicode-mathが 読み込まれていることが確認できました。

注釈

依存パッケージを確認することで、パッケージ読み込みの重複を回避できます。 また、読み込む順番の間違いなどに気をつけることができます。