括号和方括号按上下文以小写字母显示

括号和方括号按上下文以小写字母显示

在书籍出版物中,我使用带开放式字体的括号中的参考文献。参考文献采用小写字母(字母和数字):

% 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}

使用 Junicode 输出

其他具有类似行为的字体有 AngiePro、Louize NP 和 Satyr。

简而言之,仔细检查每种字体。每次更新时检查每种字体是否表现得与以前一样可能是个好主意fontspec

相关内容