我在 XeLaTeX 中使用 Alegreya 字体,在浏览了 fontspec 文档后,我还是不知道如何指定大胆的小写字体(更不用说斜体小写字体了)。我觉得答案就在我眼前,只是我找不到。字体肯定有粗体小写字体,如第三页所示这里。
%XeLaTeX
\documentclass{report}
\usepackage{fontspec}
\setmainfont[
SmallCapsFont={AlegreyaSC-Regular},
SmallCapsFeatures={Letters=SmallCaps},
Ligatures=TeX]{Alegreya}
\begin{document}
\textsc{Small Capitals!}
\textbf{\textsc{Bold Small Capitals?}}
\end{document}
那么,
SmallCapsFeatures={Letters=SmallCaps}
对于我的较大文件来说这似乎没有什么区别。
答案1
在这种情况下,Letters=SmallCaps
这无关紧要,因为 Alegreya SC 只有小写字母。在其他情况下,当使用“普通”字体时,此选项将+smcp
在选择字体时启用该功能。
您还必须为粗体、斜体和粗斜体添加适当的声明。
\documentclass{report}
\usepackage{fontspec}
\setmainfont[
UprightFeatures={SmallCapsFont=AlegreyaSC-Regular},
ItalicFeatures={SmallCapsFont=AlegreyaSC-Italic},
BoldFeatures={SmallCapsFont=AlegreyaSC-Bold},
BoldItalicFeatures={SmallCapsFont=AlegreyaSC-BoldItalic},
Ligatures=TeX,
]{Alegreya}
\begin{document}
\textbf{Normal boldface}
\textsc{Small Capitals}
\textsc{\textit{Italic Small Capitals}}
\textbf{\textsc{Bold Small Capitals}}
\textbf{\textsc{\textit{Bold Italic Small Capitals}}}
\end{document}
当然,这并不意味着我赞同使用粗体小写字母。
答案2
手册fontspec
在第 5.1.2 节中提到了这一点,但我不完全理解他们在那里写的是什么。实现您想要的功能的一种方法如下,我已重新定义\textsc
为选择 Alegreya Small Caps 字体的新字体系列。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Alegreya}
\newfontfamily\AlegreyaSC{Alegreya SC}
\renewcommand{\textsc}[1]{{\AlegreyaSC#1}}
\begin{document}
Alegreya
\textsc{Alegreya}
\textbf{\textsc{Alegreya}}
Alegreya
\end{document}