简单搜索没有找到答案,因此我发布了这个问题:
有没有办法让小型大写字母在 (subsub...) 部分标题中正确显示?
我的问题尤其出在以下代码中:
\documentclass{article}
\newcommand*{\matlab}{\textsc{matlab}}
\begin{document}
\section{\matlab}}
\end{document}
它不会在标题中生成小型大写的 MATLAB,而是生成普通文本 - “matlab”,即\textsc{}
在 中输入的内容newcommand*{}{}
。
它实际上并没有产生错误或警告并且进行了编译,但没有给我所需的输出。
有人知道解决方法/解决方案吗?
答案1
您发现 Computer Modern 字体系列不具备粗体/小型大写字母粗细/形状组合。要恢复小型大写字母字符串的“正常”粗细,您需要在其前面添加一个\mdseries
指令。
\documentclass{article}
\newcommand*{\matlab}{\textsc{matlab}}
\newcommand*{\altmatlab}{{\mdseries\matlab}} % note the double pair of curly braces
%%% "\newcommand*{\altmatlab}{\textmd{\matlab}}" works too...
\begin{document}
\section{A title that contains ``\matlab'' as a string}
\section{A title that contains ``\altmatlab'' as a string}
\end{document}
其他字体系列(例如 Times Roman)确实具有粗体/小写字母组合。如果您要使用这些字体系列之一,则\matlab
在节标题中使用基本宏就可以了。
答案2
也可能:
\documentclass{article}
\newcommand*\matlab{{\normalfont\textsc{matlab}}}
\begin{document}
\section{A title that contains ``\matlab'' as a string}
\end{document}