在小型大写字母内添加粗体的新命令

在小型大写字母内添加粗体的新命令

我想要一个命令,用相同大小的所有小写字母(没有首字母大写)写一个单词,并用粗体指定中间部分。

\mkboldcaps{Aver}{ag}{e}

将产生输出 AVERE(无空格)

到目前为止,我有以下命令,它将一个单词变成小尺寸的全部大写字母:

\newcommand{\smallcaps}[1]{\textsc{\MakeLowercase{#1}}}

当我尝试将它们组合起来时,麻烦就来了。在以下命令中,

\newcommand{\makeboldcaps}[3]{\smallcaps{#1}{\textbf{#2}}\smallcaps{#3}}

中间部分成功加粗,但不是小写。在中间部分添加 \textsc 会弄乱命令的其余部分。有什么建议吗?

答案1

您必须确保使用的字体系列具有粗体小写字母。标准 Computer Modern 字体系列没有这些字体,但 European Modern 字体有。

\documentclass{article}
\usepackage[T1]{fontenc}

\newcommand{\mkboldcaps}[3]{%
 {% keep the font change local
  \scshape\MakeLowercase{#1}\textbf{\MakeLowercase{#2}}\MakeLowercase{#3}%
 }%
}

\begin{document}
\mkboldcaps{Aver}{ag}{e}
\end{document}

在此处输入图片描述

请注意,您的 TeX 发行版需要包含 CMSuper 字体包,否则您将获得位图形式的字体。

相关内容