我今天早些时候更新了我的 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}