![LuaLaTeX 和 polyglossia 的字体问题](https://linux22.com/image/406085/LuaLaTeX%20%E5%92%8C%20polyglossia%20%E7%9A%84%E5%AD%97%E4%BD%93%E9%97%AE%E9%A2%98.png)
在最近的 TeX Live 更新之后,我以前编译正确的文档现在排版时使用了错误的字体。然后我试图了解如何“正确”地处理字体,但没有成功。由于时间紧迫,我希望在这里询问我的问题的解决方案是可以的。
我尝试过四种方案:
1 使用 pdfLaTeX 进行编译
\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}
%\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}
\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}
使用 pdfLaTeX 编译上述 MWE 生成结果:
看起来不错。
2 使用 LuaLaTeX 进行编译
\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}
%\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}
\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}
使用 LuaLaTeXproduces 编译上面的 MWE:
除正常尺寸的数学字体之外的所有字体都是错误的。
3 添加fontspec
\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}
\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}
\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}
使用 LuaLaTeXproduces 编译上面的 MWE:
看起来不错。
4 添加polyglossia
\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}
\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}
\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}
使用 LuaLaTeXproduces 编译上面的 MWE:
常规文本和数学索引现在是错误的。
此行为仅在 TeX Live 更新后发生。有重大变化吗?
问题
我的目标是使用我从包中获取的字体fouriernc
,使用polyglossia
(我对babel
和isodate
语言设置为有问题nswissgerman
),并使用 LuaLaTeX 进行编译。
- 这可能吗?
- 实现此目的的最简单、最轻量级(即编译时间)的方法是什么?例如,是否可以使用 而
fontspec
不是加载来设置我想要的字体fouriernc
?
非常感谢您的意见!
答案1
fouriernc
加载fourier
,并且这个加载fourier-orns
,并且这个包的较新版本加载(使用 xelatex 和 lualatex)这个fontspec
包。
fontspec
将字体编码更改为TU
(即适合 unicode 引擎的编码)。由于 fourier 没有为文本字体设置其TU
文本字体,因此现在将回退到 lmr:
LaTeX Font Warning: Font shape `TU/fnc/m/n' undefined
(Font) using `TU/lmr/m/n' instead on input line 6.
数学字体设置不受影响。
获取合适文本字体的最佳方法是使用 \setmainfont 进行设置。在fouriernc
加载 fontenc 和设置数学字体时,最好尽早加载,以便 fontspec 可以正确接管。
\documentclass{article}
\usepackage[fleqn]{amsmath}
\usepackage{fouriernc}%loads fontspec
\usepackage{polyglossia}
\setmainfont{heuristica}[Scale=0.91]
\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}