使用 lualatex 编译 beamer 文档时,我使用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)(加载 luc:[...]
答案2
在内部,metropolis 主题针对 xetex 或 luatex 执行以下操作:
\@ifpackageloaded{fontspec}{
\PassOptionsToPackage{no-math}{fontspec}
}{
\RequirePackage[no-math]{fontspec}
}
这意味着,只需切换加载软件包的顺序(fontspec
在之前metropolis
)即可消除选项冲突错误。然而,正如指出的那样Ulrike Fischer 在其评论中,将选项传递给已加载的包也没有多大意义。因此你可以:
\documentclass[lualatex]{beamer}
\usepackage{pgfpages,blindtext}
\PassOptionsToPackage{tuenc}{fontspec}
\usetheme{metropolis}
\begin{document}
\begin{frame}
\blindtext
\end{frame}
\end{document}