我尝试对文本和数学使用不同的字体,但我希望普通文本中的数字使用数学字体的字形。我使用 LuaLatex 并得到以下奇怪的行为。
第一个 MWE 给了我想要的结果:
\documentclass{article}
\usepackage{polyglossia}
% \setdefaultlanguage{norsk}
\usepackage{fontspec}
\setmainfont{Constantia}
\usepackage[adobe-utopia]{mathdesign}
\begin{document}
1234567890 $1234567890$
\end{document}
但是,我需要\setdefaultlanguage{norsk}
,但是随后发生了以下情况:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{norsk}
\usepackage{fontspec}
\setmainfont{Constantia}
\usepackage[adobe-utopia]{mathdesign}
\begin{document}
1234567890 $1234567890$
\end{document}
这是怎么回事?
答案1
在第一个例子中,文本字体到处都是 Utopia。这里有一个证明:我没有使用 Constantia,因为我没有,但是我使用了 Futura,它与 Utopia 非常有区别。
\documentclass{article}
\usepackage{polyglossia}
%\setdefaultlanguage{norsk}
\usepackage{fontspec}
\setmainfont{Futura}
\usepackage[adobe-utopia]{mathdesign}
\begin{document}
1234567890 $1234567890$ abcdef
\fontname\font
\end{document}
除非在 LuaLaTeX 中使用组合字体,否则不可能仅获取不同字体的文本中的数字,但我不想尝试。
为什么启用语言后会有差异?请看:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{norsk}
\usepackage{fontspec}
\setmainfont{Futura}
\usepackage[adobe-utopia]{mathdesign}
\begin{document}
1234567890 $1234567890$ abcdef
\fontname\font
\end{document}
在这种情况下,polyglossia
在开始文档时选择“Norsk 字体”,该字体恰好是通过定义的\setmainfont
。
如果您只想使用数学mathdesign
,那么您必须先加载它fontspec
。
\documentclass{article}
\usepackage[adobe-utopia]{mathdesign}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainfont{Futura}
%\setdefaultlanguage{norsk}
\begin{document}
1234567890 $1234567890$ abcdef
\fontname\font
\end{document}
无论有没有该线,都会产生相同的输出\setdefaultlanguage
。