禁用 \textsc 内的小型大写字母?

禁用 \textsc 内的小型大写字母?

我如何才能禁用其中的小型大写字母\textsc{}

我希望能够禁用/切换在本地级别使用 smallcaps,这样看起来\textsc{o\textrm{open}mp}就像\textsc{o}open\textsc{mp}。不这样做的原因是尝试使用带有选项的glossariessmallcaps缩写。这将自动完成外部\textsc{}包装。

答案1

\textsc作用于“形状”属性;因此再次改变这个属性是必要的:\textup完全切换到“直立形状”(或罗马形状)。

\textsc{a\textup{b}c}

将以小型大写字母打印“a”和“c”,以普通字体打印“b”。

答案2

正如 egreg 所提到的,您可以使用\textup而不是textsc

一种方法是重新定义 的含义\textrm。我建议将其限制在您想要应用的范围内:

\documentclass{article}
\begin{document}
{% Group here so that this is only in effect locally in this group.
\let\OldTextrm\textrm%
\renewcommand{\textrm}[1]{\textup{#1}}%
%
These should be the same:\par
\textsc{o\textrm{open}mp}\par
\textsc{o}open\textsc{mp}\par
}

These should be different:\par
\textsc{o\textrm{open}mp}\par
\textsc{o}open\textsc{mp}\par
\end{document}

相关内容