关闭斜体校正的自动插入(不需要的额外字距调整)

关闭斜体校正的自动插入(不需要的额外字距调整)

LaTeX2e 字体选择手册指出

自动定义的命令\DeclareTextFontCommand会处理任何必要的斜体校正(在任一侧)。

因此运行以下示例

\documentclass{article}

\begin{document}

\showboxbreadth=\maxdimen
\showboxdepth=\maxdimen

f\textbf{H}f\showlists

f{\bfseries H}f\showlists

\end{document}

会产生以下相关日志

% for f\textbf{H}f
\OT1/cmr/m/n/10 f
\kern 0.77779
\OT1/cmr/bx/n/10 H
\kern 0.0
\OT1/cmr/m/n/10 f

% for f{\bfseries H}f
\OT1/cmr/m/n/10 f
\OT1/cmr/bx/n/10 H
\OT1/cmr/m/n/10 f

然而,在某些应用中,需要不是自动插入斜体校正。如何从命令中选择性/局部关闭自动插入斜体校正\textXX{...}

答案1

您可以\nocorr在文本命令参数的开始和/或结束处添加以抑制斜体校正:

\documentclass{article}

\begin{document}

\showboxbreadth=\maxdimen
\showboxdepth=\maxdimen
\tracingonline=1

f\textbf{\nocorr H\nocorr}f\showlists

f{\bfseries H}f\showlists

\end{document}

打印两个 hlist:

\hbox(0.0+0.0)x15.0
\OT1/cmr/m/n/10 f
\OT1/cmr/bx/n/10 H
\OT1/cmr/m/n/10 f
spacefactor 1000

source2e.pdf(文件 w,ltfntcmd.dtx):

除了全局自定义何时插入斜体校正之外,当然有时需要使用 <code>\/</code> 明确插入斜体校正。还可以在个别情况下抑制斜体校正。为此,提供了命令 <code>\nocorr</code>。<code>\nocorr</code> 必须作为 <code>\text...</code> 命令参数括号内的第一个或最后一个标记出现,位于您希望抑制斜体校正的文本末尾。

或者usrguide.pdf, 部分3.10 字体改变:文本

这些是单参数命令;它们将要以特定字体排版的文本作为参数。它们还会在适当的位置自动插入斜体更正;如果您不喜欢结果,可以使用 <code>\/</code> 添加斜体更正或使用 <code>\nocorr</code> 将其删除。<code>\nocorr</code> 应始终是 <code>{<text>></code> 参数中的第一个或最后一个。

相关内容