平均能量损失

平均能量损失

我在 中有一些emph斜体字母\textbf{},即\textbf{\emph{abc}},以粗体斜体形式显示这些字母。但是,文本只是变成斜体,而不是粗体斜体。\emph当我必须\emph在 中使用 时,如何重新定义以获得粗体斜体字母\textbf{}

我还必须使用XeLaTeXfontspec

平均能量损失

\documentclass[
  a4paper]{article}
\usepackage{fontspec}
\setmainfont[Scale = MatchUppercase,BoldFont = Libertinus Sans Bold]{Libertinus Serif}
\setsansfont[Scale = MatchUppercase,BoldFont = LinBiolinum_RB.otf,ItalicFont = LinBiolinum_RI.otf,BoldItalicFont = LinBiolinum_RBO.otf]{LinBiolinum_R.otf}

\begin{document}

I want to make \textbf{\emph{abc}} bold italic,
like 
{\sffamily\bfseries\emph{abc}}.

\end{document}

我的环境中的 MWE 输出

在此处输入图片描述

答案1

问题中的示例对于我来说使用 LuaLaTeX 时可以按原样运行,但使用 XeLaTeX 时会引发错误(dvipdfmx:fatal: Invalid font: -1 (1))。

根据我的经验,使用文件名而不是字体名加载文件通常更可靠。

因此,如果我们复制你在 Biolinum 中为\setsansfontLibertinus 所做的工作,\setmainfont我们最终会得到

\documentclass[a4paper]{article}
\usepackage{fontspec}
\setmainfont[
  Scale = MatchUppercase,
  BoldFont = LibertinusSerif-Bold.otf,
  ItalicFont = LibertinusSerif-Italic.otf,
  BoldItalicFont = LibertinusSerif-BoldItalic.otf,
]{LibertinusSerif-Regular.otf}
\setsansfont[
  Scale = MatchUppercase,
  BoldFont = LinBiolinum_RB.otf,
  ItalicFont = LinBiolinum_RI.otf,
  BoldItalicFont = LinBiolinum_RBO.otf,
]{LinBiolinum_R.otf}

\begin{document}

I want to make \textbf{\emph{abc}} \textbf{bold} \textit{italic},
like
{\sffamily\bfseries\emph{abc}}.

\end{document}

与 XeLaTeX 和 LuaLaTeX 配合良好

我想让 abc 变为粗体斜体,就像 abc 一样。

相关内容