当我写类似的东西
$\mathrm{C}^*$-algebra
对于 C*-代数,* 和 - 之间的空间太大。我该如何改变这种情况?对于应将此类空间缩小多少,是否有一般标准?
答案1
以下是对发生的情况的分析:
\documentclass[10pt]{article}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\setlength{\fboxrule}{0.1pt}
\setlength{\fboxsep}{-\fboxrule}
\begin{document}
$\mathrm{C}^*$-algebra
\fbox{$\mathrm{C}^*$}-algebra
\fbox{$\mathrm{C}^{\fbox{$\scriptstyle*$}}$}-algebra
\begin{tabular}{@{}ll}
\fbox{$\mathrm{C}^*$}\kern-.1ex-algebra &
$\mathrm{C}^*$\kern-.1ex-algebra \\
\fbox{$\mathrm{C}^*$}\kern-.15ex-algebra &
$\mathrm{C}^*$\kern-.15ex-algebra \\
\fbox{$\mathrm{C}^*$}\kern-.2ex-algebra &
$\mathrm{C}^*$\kern-.2ex-algebra \\
\fbox{$\mathrm{C}^*$}\kern-.25ex-algebra &
$\mathrm{C}^*$\kern-.25ex-algebra \\
\fbox{$\mathrm{C}^*$}\kern-.3ex-algebra &
$\mathrm{C}^*$\kern-.3ex-algebra \\
\end{tabular}
\end{document}
前三行显示正常排版,我觉得还不错,但这是主观的。接下来的几行显示相同的排版,但字距(负)量有所增加;在左侧,您可以看到连字符与“C * ”边界框的关系。当您确定了正确的数量后,请执行
\newcommand{\csalg}{$\mathrm{C}^*$\kern-.1ex-algebra}
并在需要使用该术语时键入\csalg{}
。当然,选择您喜欢的名称。即使您最终决定不进行字距调整,定义它也是值得的。
答案2
这个答案提出了另外两个想法:
包装凸显价值microtype
TeX 引擎 pdfteX 支持“字符突出”功能。某些字符(例如-
、.
、,
)可以移动到边距内。这可以提高边距的视觉平滑度。
宏\leftprotrude
抓取下一个字符并查看其突出到左边距的值。\lpcode<font><character slot>
扩展为一个整数,单位是千分之一1em
。
包microtype
启用字符凸出并为凸出配置一些值(它们依赖于字体)。
星星的垂直位置
为了好玩,该示例还展示了一些替代方案:
- 文本模式:
\textsuperscript{*}
- 数学模式:星号设置为运算符的极限(
\mathop
)。
例子
\documentclass{article}
\usepackage{microtype}
\newcommand*{\leftprotrude}[1]{%
\begingroup
\leavevmode
\kern-.001\dimexpr\numexpr(\lpcode\font`#1)em\relax
\endgroup
#1%
}
\newcommand*{\CalgA}[1]{%
\mbox{$\mathrm{C}^{*}$#1-algebra}%
}
\newcommand*{\CalgB}[1]{%
\mbox{$\mathop{\mathrm{C}}\nolimits^{*}$#1-algebra}%
}
\newcommand*{\CalgC}[1]{%
\mbox{C\textsuperscript{*}#1-algebra}%
}
\begin{document}
\begin{tabular}{l@{}|l@{}|l@{}|l}
\CalgA{} & \CalgB{} & \CalgC{} & \small(unmodified) \\
\CalgA{\leftprotrude} & \CalgB{\leftprotrude} & \CalgC{\leftprotrude}
& \small\verb|\leftprotrude| \\
\CalgA{\negthinspace} & \CalgB{\negthinspace} & \CalgC{\negthinspace}
& \small\verb|\negthinspace| \\
\end{tabular}
\end{document}