在标题/章节标题中使用 KOMA-script 的单个小写字母

在标题/章节标题中使用 KOMA-script 的单个小写字母

我正在写一篇论文,想用小写字母强调所有软件名称。为了轻松管理,我创建了一个宏来将文本设置为小写字母,这在大多数情况下都很有效。

\usepackage{xspace}
\newcommand{\tool}[1]{\textsc{#1}\xspace}

% ...

\section{Analysis of \tool{software}}  % doesn't work

This is my \tool{software}.  % works perfectly

但是由于我的文档类型是scrartcl我的宏在标题和页眉中不起作用。很可能是这种情况,因为标题使用的字体没有小写字母。

有没有办法创建一个像上面那样的宏,在标题中起作用?有其他 解决方案将标题字体完全更改为小型大写字体,但我想保留“普通”标题字体。

答案1

虽然如果不完全更改标题字体,就无法解决这个问题,但正如其他问题所建议的那样,可以将字体更改为支持小写字母的类似无衬线字体。我尝试了来自此列表并修改了@egreg提出的代码这个答案。我找到了两种足够相似的字体,我可以忍受,并创建了一个宏来取消设置活动字体系列。然后它将参数一给出的文本设置为小写字母,然后恢复默认的 KOMA-script 标题字体 ( \sffamily)。

\makeatletter
\let\scshape\relax % to avoid a warning
\DeclareRobustCommand\scshapehead{%
  \not@math@alphabet\scshape\relax
  \ifnum\pdf@strcmp{\f@family}{\familydefault}=\z@
   \fontfamily{phv}% sans, but a little blocky
%  \fontfamily{qhv}% sans, but a little blocky
%  \fontfamily{qtm}% serifs, but looks ok
  \fi
  \fontshape\scdefault\selectfont}
\makeatother

\newcommand{\headtool}[1]{\rmfamily\scshapehead{#1}\sffamily\xspace}

% ...
\section{Analysis of \headtool{software}}  % works perfectly

This is my \tool{software}.  % works perfectly

注意,这定义了一个命令\scshapehead,因为在这里使用的名称\scshape会覆盖的正常行为,\scshape并且所有使用的字体都会改变\scshape / \textsc

相关内容