我想要一个命令,用相同大小的所有小写字母(没有首字母大写)写一个单词,并用粗体指定中间部分。
\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 字体包,否则您将获得位图形式的字体。