LuaLaTeX: fontspec の後にロードするとパッケージ graphicx のオプションが衝突する

LuaLaTeX: fontspec の後にロードするとパッケージ graphicx のオプションが衝突する

\usepackage[draft]{graphicx}どこかのドキュメントに記載されているかどうかはわかりませんが、このMWEをロードした後にコンパイルできない理由がわかりません。\usepackage{fontspec}

\RequirePackage{luatex85}
\documentclass{article}

\usepackage{fontspec}
\usepackage[draft]{graphicx}

\begin{document}
    Text
\end{document}

エラーあり

パッケージ graphicx のオプションの衝突

しかし、\usepackage[draft]{graphicx}事前にロードしておくと\usepackage{fontspec}、コンパイルがスムーズに進む。

\RequirePackage{luatex85}
\documentclass{article}

\usepackage[draft]{graphicx}
\usepackage{fontspec}

\begin{document}
    Text
\end{document}

答え1

LuaTeXで使用する場合、パッケージfontspecがロードされます。次に、パッケージをロードするパッケージがロードされます。fontspec-luatex.styxunicodegraphicx それなしオプション。

LaTeX は に到達します\usepackage[draft]{graphicx}。パッケージはすでにロードされています。したがって、LaTeX はオプションのみをチェックします。新しいオプション (ここではdraft) がある場合は、エラー メッセージがスローされます。

解決策:

  • 質問にあるように、graphicx必要なすべてのオプションを指定してパッケージをロードします。\usepackage{fontspec}

  • \PassOptionsToPackage{draft}{graphicx} 前に \usepackage{fontspec}

答え2

fontspecオプションtuenc(近い将来デフォルトになる予定)を使用してロードすると、問題はありません。

\RequirePackage{luatex85}
\documentclass{article}

\usepackage[tuenc]{fontspec}
\usepackage[draft]{graphicx}

\begin{document}
    Text
\end{document}

それ以外の場合は、graphicxの前に (オプション付きで)をロードしますfontspec

関連情報