的间距\dotsc
有点“奇怪”这里是 MWE:
\documentclass[10pt,a4paper,french]{article}
\usepackage{mathtools}
\usepackage{babel}
\usepackage[warnings-off={mathtools-colon,mathtools-overbracket},math-style=french]{unicode-math}
%\usepackage[StylisticSet=4]{fourier-otf}
\usepackage[scale={0.75,0.8},footskip=1.5cm,heightrounded]{geometry}
\begin{document}
$E=\{a_1,\dotsc,a_n\}$ et $a_1$, $\dotsc$, $a_n$
\end{document}
如您所见,集合 E 内和集合外的点间距并不相同。当我使用 PdfLaTeX 时,间距相同。它似乎来自拉丁现代字体,因为如果我取消注释我注释的行,我会得到 Erewhon 字体: 点更好看(但这只是个人品味问题),间距也一样。事实上,当我放大时,间距似乎也不同。我尝试使用点和 ldot,但间距也不同。我做错了什么吗?
当我想到一位同事告诉我从 pdflatex 迁移到 lualatex 非常简单时,我不同意。符号varnothing
已经改变,\setminus
符号不可见,...
答案1
数学模式中的省略号(三个点)最初由 Knuth 在纯 TeX 宏中实现\ldots
。插入三个点,每个点作为标点符号,即\tinmuskip
三个点之间有一个。显式添加在最后一个点之后,因为点在宏中\thinmuskip
声明为。该序列产生逗号 tm 点 tm 点 tm 点 tm 逗号(此处的 tm 表示)。因此,所有空格都相等。\mathinner
\ldots
$,\ldots,$
\thinmuskip
Unicode 数学带来新消息:字体中有一个特殊字符 ... (unicodeellipsis,U+2026)。字体设计师通常不会在这些点之间插入相同的空格\thinmuskip
,因为这是可拉伸的空间,这是不可能的\thinmuskip
。unicodeellipsis 字符中字体中点之间的空格通常小于值\thinmuskip
。您\thinmuskip
在 ... 之前和之后有空格,但在 ... 字符内部没有空格。
您可以声明 \mathchardef\ldotp="602E
(点作为标点符号)并在加载 Unicode 数学运算后保留\ldots
纯 TeX 中的宏: 。然后,您便拥有纯 TeX 中定义的类似 Knuth 的相等空间。\def\ldots{\mathinner{\ldotp\ldotp\ldotp}}
请注意,OpTeX 会将\ldots
宏保留为与纯 TeX 类似的格式,用户可以使用它或者\unicodeellipsis
使用字体中的单个字符...。
答案2
在集合符号中,你会得到一个狭窄的空间;在第二种情况下,你会得到一个正常的单词间空间:它们通常是不同的。在你声称它们是相同的例子中,它们也不同。
我们来比较一下:
\documentclass[10pt,a4paper,french]{article}
\usepackage{mathtools}
\usepackage{babel}
\usepackage[warnings-off={mathtools-colon,mathtools-overbracket},math-style=french]{unicode-math}
\usepackage[StylisticSet=4]{fourier-otf}
\usepackage[scale={0.75,0.8},footskip=1.5cm,heightrounded]{geometry}
\begin{document}
$E=\{a_1,\dotsc,a_n\}$ et $a_1$, $\dotsc$, $a_n$
\showoutput
\end{document}
日志文件中的相关部分是
....\TU/Erewhon-Math.otf(1)/m/n/10 ,
....\glue(\thinmuskip) 1.111
....\TU/Erewhon-Math.otf(1)/m/n/10 …
在点之前的第一个空格
....\TU/erewhon(0)/m/n/10 ,
....\glue(\spaceskip) 2.11 plus 1.05605 minus 0.70262
....\mathon
....\TU/Erewhon-Math.otf(1)/m/n/10 …
在点之前的第二个空格。
对于拉丁现代(注释掉fourier.otf
),效果更明显,因为\spaceskip
结果是
....\TU/lmr/m/n/10 ,
....\glue(\spaceskip) 3.33 plus 1.66666 minus 1.10889
....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 …
所以宽了 1.22pt。
第二次实验,与pdflatex
Erewhon 一起
\documentclass[10pt,a4paper,french]{article}
\usepackage{mathtools}
\usepackage{babel}
\usepackage[scale={0.75,0.8},footskip=1.5cm,heightrounded]{geometry}
\usepackage{erewhon}
\usepackage[utopia]{newtxmath}
\begin{document}
$E=\{a_1,\dotsc,a_n\}$ et $a_1$, $\dotsc$, $a_n$
\showoutput
\end{document}
相关部分是
....\glue(\thinmuskip) 1.66663
....\hbox(1.20999+0.025)x10.80322
.....\OML/zutmi/m/it/10 :
.....\glue(\thinmuskip) 1.66663
.....\OML/zutmi/m/it/10 :
.....\glue(\thinmuskip) 1.66663
.....\OML/zutmi/m/it/10 :
....\glue(\thinmuskip) 1.66663
第一个点之前的空格和
....\T1/erewhon-TLF/m/n/10 ,
....\glue 2.10999 plus 1.05605 minus 0.70226
....\mathon
....\hbox(1.20999+0.025)x10.80322
.....\OML/zutmi/m/it/10 :
.....\glue(\thinmuskip) 1.66663
.....\OML/zutmi/m/it/10 :
.....\glue(\thinmuskip) 1.66663
.....\OML/zutmi/m/it/10 :
在第二种情况下。同样,空间也不相同。