![在小型大写字母内添加粗体的新命令](https://linux22.com/image/288813/%E5%9C%A8%E5%B0%8F%E5%9E%8B%E5%A4%A7%E5%86%99%E5%AD%97%E6%AF%8D%E5%86%85%E6%B7%BB%E5%8A%A0%E7%B2%97%E4%BD%93%E7%9A%84%E6%96%B0%E5%91%BD%E4%BB%A4.png)
我想要一个命令,用相同大小的所有小写字母(没有首字母大写)写一个单词,并用粗体指定中间部分。
\mkboldcaps{Aver}{ag}{e}
将产生输出 AVER银E(无空格)
到目前为止,我有以下命令,它将一个单词变成小尺寸的全部大写字母:
\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 字体包,否则您将获得位图形式的字体。