新的 fontspec 键/值对语法?

新的 fontspec 键/值对语法?

我今天早些时候更新了我的 TexLive 发行版中的软件包,并注意到我的项目中有一行代码不再正常工作,即我用来在 xelatex 中设置等宽字体的虚假选项的代码。

在之前的版本中我可以写

\setmonofont[AutoFakeBold=1.4, AutoFakeSlant=0.2]{Inconsolata}

但现在我得到了错误

LaTeX error: "keyval/misplaced-equals-sign"
Misplaced equals sign in key-value input 9
Latex attempted to parse some key-value input but found two equals signs not separated by a comma.

那么现在正确的语法是什么?

以下是 MWE:

%!TEX TS-program = XeLaTeX
%!TEX encoding = UTF-8 Unicode

\documentclass{article}

\usepackage{polyglossia}
\setmainlanguage{swedish}

\setmonofont[AutoFakeBold=1.4, AutoFakeSlant=0.2]{Inconsolata}

\usepackage{listings}
\lstset{
basicstyle=\ttfamily,
language=python
}


\begin{document}

Hello world

\begin{lstlisting}
print("print should be in bold")
# this should be slanted
\end{lstlisting}

\end{document}

答案1

好像是一个错误字体规格,因为简单键AutoFakeSlant会引发错误,而 则AutoFakeBold不会。

然而,更复杂的规范似乎可行:

\setmonofont[BoldFont=*,BoldFeatures={FakeBold=1.4},
  ItalicFont=*,ItalicFeatures={FakeSlant=0.2},
  BoldItalicFont=*,BoldItalicFeatures={FakeBold=1.4,FakeSlant=0.2}
  ]{Inconsolata}

相关内容