我无法更改文档中的字体系列。我希望我的文档采用 Times New Roman 字体,它很小,并且具有适当的字符。但是,我的论文中有部分需要小写字母和特殊字符,而 Times New Roman 不提供这些字符。我想为此切换到 Charis SIL(一种不太紧凑的字体)。下面是我使用的代码示例:
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{expex}
\lingset{belowglpreambleskip=0ex, aboveglftskip=0ex, everygla={\upshape}}
\setmainfont{Times New Roman}
\begin{document}
This text is in the default font, Times New Roman. The example should be in Charis SIL.
{\fontfamily{Charis SIL}\selectfont
\ex \label{gohome}
\begingl
\glpreamble ʔucačiƛs wałšiƛ. //
\gla ʔu-ca-čiƛ=s wał-šiƛ //
\glb \textsc{x}-go-\textsc{perf}=\textsc{strg.1sg} go.home-\textsc{perf} //
\glft `I went home.' //
\endgl
\xe
}
\end{document}
但是,我得到了一个奇怪的输出:
我不仅没有得到字体选择,而且前面还出现了奇怪的“sil.fd SIL.fd”。现在,如果我将文档字体设置为 Charis SIL,例如
\setmainfont{Times New Roman}
有没有什么办法可以选择性地在主文档字体和 Charis SIL 之间切换?
答案1
这是一个展示如何切换字体的简单示例。我假设您使用的fontspec
是 LuaTeX 或 XeTeX。我没有您使用的字体,因此我展示了从 TeX Gyre Termes 到 STIX 的切换。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeXGyreTermes}
\usepackage{kantlipsum}
\newfontfamily\stix{STIX}
\begin{document}
\kant[1]
{%
\stix
\kant[2]%
}
\end{document}
第一段使用 TeX Gyre Termes;第二段使用 STIX。