# Typesetting exclamation+question+ellipsis (!.. ?.. ?!. !?.)

All of us know that we should use \dots instead of ... (three single dots).

But how can I typeset correctly the combination of an exclamation mark with an ellipsis (!..) or a question mark with an ellipsis (?..), or both marks with a dot (?!., !?.)?

I want to have dots on equal distances — same as in \dots.

Of course, I can guess the kerning, but this solution will be font-dependent :-(

• I'd suggest that the question / exclamation mark and the ellipsis are independent and you should therefore use ?\dots, rather than overwriting the dots. However the spacing may not be what you'd like, it may come out rather like ". ...". – Chris H Sep 8 '15 at 12:38
• @ChrisH That doesn't work: you cannot redefine the country-wide standards in typography and use four dots instead of three (?...) – pantlmn Sep 8 '15 at 12:41
• @pantlmn -- i'm not familiar with the standards you're referring to. in what country are they used? (your profile doesn't identify that.) in the u;s., it is sometimes considered appropriate to use \dots plus a period to show definitively that this is the end of a sentence. and i've never seen either an exclamation or question mark with "attached" dots; a full three-dot sequence following a space after such punctuation indicates an omission from discourse in a quote. (i agree with following local standards, but provenance is important.) – barbara beeton Sep 8 '15 at 12:52
• @barbarabeeton Russian typografic rules allow usage of "!.." and "?.." (en.wikipedia.org/wiki/Ellipsis#In_Russian) – pantlmn Sep 8 '15 at 13:03
• I didn’t know that about Russian typography. Thanks! – Davislor Sep 9 '15 at 16:21

I'm not sure what these character combination should mean. Anyway, here they are; still font dependent, I'm afraid, because the shape of ? gets in the way, so I provide a “parameter” for it. Uncomment one of the font packages to see the effect with a different font; for these two a change in \centqmkern doesn't seem necessary.

\documentclass{article}
%\usepackage{erewhon}
%\usepackage{newtxtext}

\newcommand{\centqm}{\makebox[\fontcharwd\font.]{?}}
\newcommand{\centqmkern}{\kern.2\fontcharwd\font?}

\DeclareRobustCommand{\edots}{%
!\kern\fontdimen3\font
.\kern\fontdimen3\font
.\kern\fontdimen3\font
}
\DeclareRobustCommand{\qdots}{%
\centqmkern
\centqm\kern\fontdimen3\font
.\kern\fontdimen3\font
.\kern\fontdimen3\font
}

\DeclareRobustCommand{\qedots}{%
\centqmkern
\centqm\kern\fontdimen3\font
!\kern\fontdimen3\font
.\kern\fontdimen3\font
}

\DeclareRobustCommand{\eqdots}{%
!\kern\fontdimen3\font
\centqm\kern\fontdimen3\font
.\kern\fontdimen3\font
}

\begin{document}

Text\dots

Text\edots

Text\eqdots

Text\qdots

Text\qedots

Text?

\end{document}


• Worked perfect. The meaning of the signs is rather closely shown by jlv in the dialogue. Ellipsis shows hesitation and that the phrase is kind of unfinished. – pantlmn Sep 8 '15 at 16:34
• @pantlmn Something I'd never use. ;-) – egreg Sep 8 '15 at 16:39
• Tested your solution a bit more: actually, you don't need \kern\fontdimen3\font after the last dot. Test example is : «Really\qedots» — said John. – pantlmn Sep 9 '15 at 14:09
• @pantlmn That's what the standard \dots (more precisely \textellipsis) does. – egreg Sep 9 '15 at 14:16

You can use the macro \eli followed by three symbols. For example Text\eli?.. The advantage is that you needn't to specify explicit space after this. The name \eli means ellipsis.

\def\eli#1#2#3{%
\setbox0=\hbox{#1}%
\setbox2=\hbox{.}%
\kern.5\wd0
\cbox{#1}\kern1.6\wd2\cbox{#2}\kern1.6\wd2\cbox{#3}%
\kern\wd2
}
\def\cbox#1{\hbox to0pt{\hss#1\hss}}

Text\eli... Text\eli?.. Text\eli!.. Text\eli?!.

\bye


Result:

I'm not sure if there are commands for the symbols you mention, but there is a way to make it look like what you want, with \rlap (see here for more details). Here's the code:

\documentclass{ltxdoc}
\begin{document}

\noindent
Hello\rlap{\dots}!\\
Yes\rlap{\dots}?\\
May I come in\rlap{\hspace{1pt}\dots}?\\
Why\rlap{\dots}?!\\
Why not\rlap{\hspace{1pt}\dots}?\hspace{1pt}!\\
Because\rlap{\dots}!?\\
Never\rlap{\dots}!\hspace{1pt}?

\end{document}


And here's the resulting image:

As you can see, there are some problems, since the question mark does not have quite the same spacing as the exclamation point, but a little adjustment makes it work nicely.

• There is no use or \rlap{\dots} if you use manual kerning. It's much better to have uneven spaces between punctuation signs than to get extra dots or strange-shaped dots. – pantlmn Sep 8 '15 at 16:29