lualatexを使用してビーマードキュメントをコンパイルする場合、fontspec
問題なくパッケージを使用します。ただし、このMWEのようにエンコーディングを設定すると、常にこのエラーが発生します。
パッケージ fontspec のオプションの衝突
fontspec
エンコーディングを指定せずにロードする必要がありますか、それとも何かが欠けているのでしょうか?
\documentclass[lualatex]{beamer}
\usepackage{pgfpages,blindtext}
\usetheme{metropolis}
\usepackage[tuenc]{fontspec}
\begin{document}
\begin{frame}
\blindtext
\end{frame}
\end{document}
答え1
\documentclass[lualatex]{beamer}
\usepackage{pgfpages,blindtext}
\usetheme{metropolis}
\begin{document}
\begin{frame}
\blindtext
\end{frame}
\end{document}
問題ないはずです。実行時にlualatex
fontspec はすでにtuenc
定義ファイルとともにロードされています:
[...] (/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty (/usr/local/texlive/2017/texmf-dist/tex/latex/base/fontenc.sty (/usr/local/texlive/2017/texmf-dist/tex/latex/base/tuenc.def)) (/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec.cfg)(load luc: [...]
答え2
内部的には、metropolis テーマは xetex または luatex に対して次の処理を実行します。
\@ifpackageloaded{fontspec}{
\PassOptionsToPackage{no-math}{fontspec}
}{
\RequirePackage[no-math]{fontspec}
}
つまり、パッケージをロードする順序を変更するだけで(fontspec
前metropolis
)、オプション衝突エラーが解消されます。ただし、ウルリケ・フィッシャーのコメントすでにロードされているパッケージにオプションを渡すこともあまり意味がありません。そのため、次のようにすることができます。
\documentclass[lualatex]{beamer}
\usepackage{pgfpages,blindtext}
\PassOptionsToPackage{tuenc}{fontspec}
\usetheme{metropolis}
\begin{document}
\begin{frame}
\blindtext
\end{frame}
\end{document}