10

MWE

enter image description here

Is this true? expected? typographically correct? If it should be fixed, how? I've browsed related questions but found no answers.

\documentclass[10pt]{article}

\usepackage[text={2.1in,4in}]{geometry}

\usepackage{microtype} % since it's in my document

\begin{document}

In this sentence the space after the ellipsis \dots seems
noticeably shorter than the space before it. 

\end{document}
2
  • 2
    there's no space after \dots because spaces after a control sequence are ignored (except as needed to recognize the end of the control sequence). the usual recommendation is to insert a "slash space" after \dots\ to get an ordinary (as opposed to end-of-sentence) space. Commented Oct 10, 2015 at 18:39
  • @barbarabeeton That explains why it happens. I'll go with the explicit ` since it's not needed often in my document. But \dots` should deal with the typographic question automaticaly. If you post as an answer I'll accept so the question won't stay unanswered. Commented Oct 10, 2015 at 21:10

2 Answers 2

11

barbara's answer explains why this happens and offers some advice on how to address it. I have to say, I'm pretty sure I'm wildly inconsistent about how I handle this.

Here's a comparison:

\documentclass{article}

\begin{document}
Some words \dots after the beginning.

Some words \textellipsis after the beginning.

Some words \dots\ after the beginning.

Some words \textellipsis\ after the beginning.
\end{document}

produces:

comparison with and without forced space

While the lack of space in the first two cases looks odd, the second two don't look quite right to me either because the space after the ellipsis now exceeds that before it.

As I understand it, this is because space equal to that between the dots is added after the final dot to ensure that any following punctuation is correctly spaced:

Do you know some words \dots?

Do you know some words \textellipsis?

produces:

spaced punctuation

which seems reasonable. When \ is added after the ellipsis, the additional space is added to the space already there.

If you want even spacing around the ellipsis, the ellipsis package offers a solution:

\documentclass{article}
\usepackage{ellipsis}
\begin{document}

Some words \dots\ after the beginning.

Some words \textellipsis\ after the beginning.

Do you know some words \dots?

Do you know some words \textellipsis?
\end{document}

produces balanced spacing in both kinds of case:

adjusted spacing

But if, like me, you are horribly inconsistent about this, you might hope the package would solve the problem automatically.

According to the documentation, you should be able to do just this using the option xspace. In that case, you are supposed to be able to type \dots whatever and have everything work. However, when I try that, the spacing after the ellipsis is again larger than that before it, although the effect is less pronounced than without the package.

That is,

\documentclass{article}
\usepackage[xspace]{ellipsis}
\begin{document}

Some words \dots\ after the beginning.

Some words \textellipsis\ after the beginning.

Some words \dots after the beginning.

Some words \textellipsis after the beginning.

Do you know some words \dots?

Do you know some words \textellipsis?
\end{document}

produces

maladjusted spacing

rather than

expected output

So I'm not sure this option works quite as intended....

EDIT Moreover, xspace's author recommends avoiding the package.

9
  • May be using (unicode ellipsis) solves this inconsistency with spaces and more :) Just load inputenc and declare the unicode character (or even use newunicodechar.
    – Manuel
    Commented Oct 10, 2015 at 23:27
  • @Manuel I don't think so... Did you see this? Or are you suggesting something without xspace?
    – cfr
    Commented Oct 10, 2015 at 23:46
  • I meant that the fact that is not \dots the next space is not gobbled, so it can be controlled much easier, rather than use xspace.
    – Manuel
    Commented Oct 11, 2015 at 10:58
  • @Manuel But then you need to add a matching amount of space when the next character is a punctuation mark i.e. to match the space between the dots. I'm not sure this is more easily controlled.
    – cfr
    Commented Oct 11, 2015 at 12:22
  • @Manuel Yes, but I fear to repeat David's mistakes ;).
    – cfr
    Commented Oct 11, 2015 at 18:18
14

there's no space after \dots because spaces after a control sequence are ignored (except as needed to recognize the end of the control sequence).

the usual recommendation is to insert a "slash space" after \dots\ to get an ordinary (as opposed to end-of-sentence) space. however, if \dots really does end a sentence, then entering it as \dots{} or {\dots} will trigger the end-of-sentence space.

\dots can appear in contexts where it's not possible to determine whether it should be followed by a space in the output, or indeed, what kind of space.

edit: after reading the excellent answer by cfr, i decided to do a little digging. the definitions of \dots in both plain tex and latex are somewhat convoluted, but the point about the extra space being added to \dots (and \textellipsis} to ensure good spacing before another punctuation mark is right on.

what i discovered, though, is that, even though \dots and \textellipsis share this feature in text mode, \ldots (on which both are based) is free from it, as shown in this simple demonstration.

\documentclass[12pt]{article}
\begin{document}
\fbox{.}\quad\fbox{.\,.}\quad\fbox{\dots}\quad\fbox{$\ldots$}
\end{document}

images of different boxed dots

so, if your goal is absolutely symmetrical spaces before and after the dots, use \ldots directly. (in other words, don't be la{tex}zy.)

on another tack, in a comment someone asked about using the unicode character (U+2026) directly. when implemented in a font, that character is usually designed (in most fonts that i've seen) with tighter spacing than provided by \dots and would look out of place in most tex settings.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .