[Tex/LaTex] difference between \ldots and \textellipsis

ellipsispunctuationsymbols

I was just reading about text formatting here, and the following is stated about ellipses:

Therefore, you cannot enter ‘ellipsis’ by just typing three dots, as the spacing would be wrong. Instead, there is a special command for these dots. It is called \ldots:

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

Alternatively, you can use the \textellipsis command which allows the spacing between the dots to vary.

The page provides no further information about how one might actually vary the spacing between dots using \textellipsis, and I can't see any difference between the outputs produced by \ldots and \textellipsis. So, my question is: what is the difference between the two commands?

In particular, I would like to know:

  1. Do the two commands ordinarily produce the same output?
  2. I've heard of a package called ellipsis; is it only by using this package that one might alter the spacing of \textellipsis?

Best Answer

The difference between \textellipsis and \ldots is, that the latter can also be used in math mode. It is defined as (from latex.ltx):

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

Therefore, the commands produce the same output in text mode.

Package ellipsis makes the space configurable via the macro \ellipsisgap, which can be redefined. An example is given in the documentation. It also provides other features (checking for following punctuation characters, \midwordellipsis, ...).

Alternatively, you can redefine \textellipsis, which is defined by the LaTeX kernel (latex.ltx):

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

Just replace \kern\fontdimen3\font by the space you want or add a scaling factor in front of \kern.

There are font encodings as LY1, which contain the character as full glyph. for example, ly1enc.def defines \textellipsis as:

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

Then the spacing is part of the glyph and cannot be changed without redefining \textellipsis to not using the glyph.