在书籍出版物中,我使用带开放式字体的括号中的参考文献。参考文献采用小写字母(字母和数字):
% xelatex xetex 0.9999 texlive 2013 windows
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX,
Numbers=OldStyle,
]{TeX Gyre Pagella} % to be replaced by a font which supports small caps brackets
\begin{document}
Text (\textsc{ref.} 1.1) text.
\end{document}
我希望将引用周围的括号(圆括号或方括号)根据上下文设置为小写字母。在 latex 中通常如何做到这一点?提前谢谢您。
更新:我在出版物中使用的字体确实支持替代的“小型大写字母”括号,但我仍在寻找一种方便的上下文方式,如何在乳胶中按上下文进行设置,而不必重新格式化参考文献:
答案1
讨论github.com/wspr/fontspec/issues/166与这个问题相关。
无论如何,不要使用 创建宏的建议\small
,就像避免伪造小写字母一样。字体本身需要提供小写字母括号。
我刚刚测试了几十种字体,大部分是商业字体。
大多数具有该case
功能的用户使用它来生成不小于正常值但位置更高的括号;这种括号适用于大写字母,因为它们不包含不存在的降部,但它们不适合小写字母。
对于带有小写大写括号的字体,大多数不需要特殊处理。只需确保括号位于 内即可\textsc{}
。例如,
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Cartier Book Pro}
\begin{document}
Text (\textsc{ref.}~1.1) text.
Text \textsc{(ref.~1.1)} text.
\end{document}
其他具有类似行为的字体包括 Agmena Pro、Albertan Pro、Augustin、Calluna、Le Monde Livre Classic、Livory 和 Maiola PE。如果字体有小写数字(例如 Jannon 10 Pro 和 Neacademia Latin),数字也会受到影响。
有些字体需要启用该c2sc
功能。这里我定义了一个宏\ucsc{}
(用于“大写小写字母”),以简化操作:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Contextuals=Alternate,Numbers=OldStyle]{Junicode}
\def\ucsc#1{{\addfontfeature{Letters=UppercaseSmallCaps}#1}}
\begin{document}
Text \textsc{(ref.~1.1)} text.
Text \ucsc{(REF.~1.1)} text.
\end{document}
其他具有类似行为的字体有 AngiePro、Louize NP 和 Satyr。
简而言之,仔细检查每种字体。每次更新时检查每种字体是否表现得与以前一样可能是个好主意fontspec
。