美元符号内的逗号和美元符号外的逗号看起来是否相同?

美元符号内的逗号和美元符号外的逗号看起来是否相同?

在数学模式下,当我输入句子时,我的习惯是将逗号/句号/分号等放在美元符号外面。例如,我会写Let the variable be denoted by $x$., 而不是Let the variable be denoted by $x.$

但有时我需要使用双美元符号将公式放在中间,这就出现了问题。如果我写By the formula $$e^{i\pi}+1=0$$, we have ...,那么逗号就会出现在下一行的开头,这看起来很别扭。所以我不得不改写By the formula $$e^{i\pi}+1=0,$$ we have ...

我的问题是,这样做$x$,$x,$看起来完全一样吗?如果不是,那么如果他/她使用双美元符号来集中表达式,但仍然喜欢将逗号放在美元符号之外,该怎么办?

答案1

在正常设置下,逗号的数学代码"613B如下

\mathcode`\,="613B

在 Plain TeX 中

\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B}

在 LaTeX 中(准确地说是在 中fontmath.ltx)。这意味着逗号是一个标点符号(类 6),并且它取自专门用于数学字母的字体(系列 1,其中数学斜体字母是主要对象)。

因此,字形的形状取决于字体的设计方式:可能会有所不同,特别是如果文本和数学字体不匹配(这无论如何都是印刷错误)。为什么符号“不同”?让我们看看标准设置:

\documentclass{article}
\begin{document}
\fboxsep=0pt \fboxrule=0.1pt % no padding, hairline box

\fbox{,} \fbox{$,$}

\makebox[0pt][l]{\fbox{,}}\fbox{$,$}

\end{document}

在此处输入图片描述

看第一行似乎暗示结果是相同的,第二行也证实了这一点。

然而,如果加载 NewTX,就会看到差异;与之前相同的输入,加上\usepackage{newtxtext,newtxmath}产品

在此处输入图片描述

我们发现数学逗号没有左侧边距。这是设计决定。

答案2

\documentclass{article}



\begin{document}

\showoutput
$,$,

\end{document}

生产

在此处输入图片描述

它们在默认的计算机现代字体中“非常相似”,但如果你查看日志,你会看到

....\mathon
....\OML/cmm/m/it/10 ;
....\mathoff
....\OT1/cmr/m/n/10 ,

因此,第二个是,cmr10 中的 ,而第一个是;cmmi10 中的 (经典的 TeX 编码是诡异的:-) 它们看起来相同的程度(或者实际上在内部使用相同字体路径的副本相同)是字体设计师的选择。

答案3

正如评论中指出的那样,应该使用使用非常相似的标点符号的匹配文本和数学字体。

根据 TeXbook 的说法,使用Test with variable $x$.是首选,主要是Test with one $x$, two $y$, or three variables $z$.因为在某些情况下,数学模式中的标点符号比文本中的标点符号更紧密。

By the formula\[x=y+z \hbox{,}\]we have关于显示的数学,如果您使用(同样根据 TeXbook)或By the formula\[x=y+z \text{,}\]we have(使用时应优先使用),则比较安全amsmath。两者都将导致,以文本字体打印。

顺便说一句:关于$$x+y$$\[x+y\]显示的数学,请查看或者这个答案

相关内容