当字体没有内置斜体时,如何设置 LaTeX 使用不同的字体?

当字体没有内置斜体时,如何设置 LaTeX 使用不同的字体?

我在文档中使用 Helvetica Neue Light 作为默认字体(使用模板),但当我指定 /emph 时,它只会在

LaTeX 字体警告:字体形状“EU2/HelveticaNeueLight(0)/m/it”未定义

在输入行中使用 'EU2/HelveticaNeueLight(0)/m/n

输出只是普通的、非斜体的文本。

样式表如下所示:

\RequirePackage[quiet]{fontspec}
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}

\newfontfamily\bodyfont[]{Helvetica Neue}
\newfontfamily\thinfont[]{Helvetica Neue UltraLight}
\newfontfamily\headingfont[]{Helvetica Neue Condensed Bold}

\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text, Color=textcolor]{Helvetica Neue Light}

知道如何解决这个问题吗?我的系统上确实安装了 Helvetica Neue Light Italic 字体,希望这能有所帮助。

答案1

fontspec使用其键值选项语法提供斜体字体。请注意 font-then-options 的反转顺序,以及 TeX 连字( --/ ---/curly 印刷工的引号)在最新版本中自动设置的事实fontspec

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Helvetica Neue Light}[
  ItalicFont=Helvetica Neue Light Italic,
]

\begin{document}
Test \emph{test}.
\end{document}

在此处输入图片描述

相关内容