我正在尝试对公式中的数量进行简短的解释,但我认为字距调整并没有真正起作用。(或者我错了?)”。
\documentclass[12pt]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[fullfamily,opticals,minionint,footnotefigures]{MinionPro}
\usepackage{icomma}
\usepackage{array}
\newenvironment{conditions}[1][with:]
{#1 \begin{tabular}[t]{>{$}l<{$} @{${}-{}$} p{10cm}}}
{\end{tabular}\\[\belowdisplayskip]}
\begin{document}
\begin{conditions}
W,~L,~t_{\mathrm{OX,eff}} & $\dots$\\
\textit{W\textnormal{,}}~\textit{L\textnormal{,}}~t_{\mathrm{OX,eff}} & $\dots$\\
\mathit{W,~L,}~t_{\mathrm{OX,eff}} & $\dots$
\end{conditions}
\end{document}
答案1
我将分析 Computer Modern 的情况,因为我没有 Minion,输入文件如下:
\documentclass{article}
\begin{document}
\showoutput
$W,$
$\textit{W,}$
$\mathit{W,}$
\end{document}
显示\showoutput
日志文件中写入的内容。
情况1:$W,$
....\mathon
....\OML/cmm/m/it/10 W
....\kern1.3889
....\kern-1.66667
....\OML/cmm/m/it/10 ;
....\mathoff
第一个 kern 是斜体校正,TeX 在普通符号后添加(如果已定义);第二个 kern 是 W 和逗号之间的字距,由字体定义。
案例 2:\textit{W,}
....\mathon
....\hbox(6.83331+1.94444)x13.05548
.....\OT1/cmr/m/it/10 W
.....\OT1/cmr/m/it/10 ,
....\mathoff
这两个字符以文本斜体字体排版,没有字距调整,因为它们之间没有定义。
案例三:$\mathit{W,}$
....\mathon
....\hbox(6.83331+1.94444)x14.60272
.....\OT1/cmr/m/it/10 W
.....\kern1.8361
.....\OML/cmm/m/it/10 ;
....\mathoff
TeX 为 W 添加斜体校正,如案例 1 所示,但没有字距调整,因为这两个字符来自不同的字体。使用$\mathit{W},$
(更正确),我们会得到
....\mathon
....\OT1/cmr/m/it/10 W
....\kern1.8361
....\OML/cmm/m/it/10 ;
....\mathoff
不使用额外的框,因为\mathit
只涉及一个字符。
一般注意事项
我们在应该出现逗号的地方看到了一个分号,因为在 OML 编码的字体中,数学逗号代替了分号:逗号的数学代码是"613B
,表示标点符号 ( 6
),来自数学组1
和槽3B
(在 ASCII 中为分号)。
Minion 会发生什么情况?
据我所知,Minion 字体的字母和标点符号(例如撇号)之间的字距非常明显。这在案例 2 中表现得非常明显,因为使用的是文本模式,而不是数学模式。在案例 1 和案例 3 中,字距缺失可能是因为 W 取自与数学字母不同的字体,因此案例 1 和案例 3 本质上是相同的;应该检查数学字体设置MinionPro.sty
和字体度量文件以准确了解:包很可能将数学斜体定义为文本斜体。
应该做什么?
输入应该是$W$, $L$, $t_{\mathrm{OX,eff}}$
,因为这是三个不同的公式,并且逗号是文本的,而不是数学的。