\ldots 和 \textellipsis 之间有区别吗?

\ldots 和 \textellipsis 之间有区别吗?

我刚刚读到有关文本格式的内容这里,并且关于椭圆有如下表述:

因此,您不能只输入三个点来输入“省略号”,因为间距不对。相反,有一个专门用于这些点的命令。它被称为\ldots

Not like this ... but like this:\\ New York, Tokyo, Budapest, \ldots

或者,您可以使用\textellipsis允许点之间的间距变化的命令。

该页面没有提供有关如何使用 实际改变点间距的更多信息\textellipsis,并且我看不出\ldots和产生的输出之间有任何区别\textellipsis。所以,我的问题是:这两个命令之间有什么区别?

我尤其想知道:

  1. 这两个命令通常会产生相同的输出吗?
  2. 我听说过一个名为的包ellipsis;只有使用这个包才可以改变的间距\textellipsis吗?

答案1

\textellipsis和之间的区别\ldots在于,后者也可以在数学模式下使用。它的定义如下(来自latex.ltx):

\DeclareRobustCommand{\dots}{%
   \ifmmode\mathellipsis\else\textellipsis\fi}
\let\ldots\dots

因此,这些命令在文本模式下会产生相同的输出。

ellipsis通过宏使空间可配置\ellipsisgap,该宏可以重新定义。示例如下文档。它还提供其他功能(检查以下标点符号,,\midwordellipsis...)。

或者,您可以重新定义\textellipsis,它由 LaTeX 内核 () 定义latex.ltx

\DeclareTextCommandDefault{\textellipsis}{%
   .\kern\fontdimen3\font
   .\kern\fontdimen3\font
   .\kern\fontdimen3\font}

只需\kern\fontdimen3\font用您想要的空间替换或在前面添加一个缩放因子\kern

有字体编码LY1,其中包含字符的完整字形。例如,ly1enc.def定义\textellipsis为:

\DeclareTextSymbol{\textellipsis}{LY1}      {133}

然后间距是字形的一部分,如果不重新定义\textellipsis为不使用字形就无法更改。

答案2

\textellipisis通过以下方式定义

\DeclareTextCommandDefault{\textellipsis}{%
   .\kern\fontdimen3\font
   .\kern\fontdimen3\font
   .\kern\fontdimen3\font}

因此默认情况下.从当前字体放置三个,但这只是默认值,它是一个特定于编码的命令,并且如果编码在unicode编码中提供了一个字符,例如U + 2026,那么可以使用它。

\ldots

\DeclareRobustCommand{\dots}{%
   \ifmmode\mathellipsis\else\textellipsis\fi}
\let\ldots\dots

因此它\textellipsis处于文本模式,但也可以用于数学。

相关内容