\textup 命令在 \textsc 中不起作用

\textup 命令在 \textsc 中不起作用

我认为以我所提出的方式解决我的问题将会很困难,因为我担心我无法为其提供 MWE。

问题是,当我输入类似 的内容时\textsc{\textup{upshape text} smallcaps text},我得到的所有内容都是小写字母。我已经能够检查出这个问题与我使用的字体无关。

我无法提供 MWE,因为这种情况发生在依赖于类的文档中,我正在加载非常长的包列表,并且正在进行大量处理。因此,如果有人能说出这里可能发生的事情,即使这只是一种可能性或猜测,也会很有帮助,因为其他一切都正常。

编译已打开pdfLaTeX,并且在我正在使用的类中expl3代码。

编辑:至于我的意图,我正在收集一些标记列表,并将其中的所有内容设置为小写字母,除了我在原文中可能用 标记的内容\textup。希望这会有所帮助。

编辑 2:我找到了问题的根源。归根结底是biolinum包内的问题。下一个 MWE 复制了这个问题:

\documentclass{memoir}

\usepackage{biolinum}

\begin{document}
\textsc{\textup{regular text} small caps}
\end{document}      

现在,有人知道发生这种情况的原因是什么吗?当然,我感谢所有猜测、暗示或提供任何批评意见的人。

答案1

在设计 NFSS2(当前的 LaTeX 字体选择方案)时,开发人员决定采用四个“轴”:编码、字体系列、粗细和形状。他们编码了四种基本形状

  • 直立
  • 斜体
  • 倾斜的
  • 小帽子

当时,由于低内存计算机的限制,这可能就足够了。森诺·迪波伊(正如我们在意大利语中所说的“后见之明”),将小型大写字母编码为形状是一个错误。诸如libertine和之类的软件包biolinum会加载fontaxes修改 NFSS2 的软件包,以便为新轴腾出空间。该命令\textup仅更改“主要形状”属性,而不会更改区分“主要”和“次要”形状的新轴,因此次要形状仍为小型大写字母。主要形状用于直立、斜体和倾斜。

话虽如此,使用\textulc(相应的声明是\ulcshape),其中ulc代表“大写和小写”。

\documentclass{memoir}

\usepackage{biolinum}

\begin{document}
\textsc{\textulc{regular text} small caps}
\end{document}

在此处输入图片描述

相关内容