I don't understand: the space in "Dr. Doolittle" should be the same as the normal interword space. I've seen nowhere reduced spacing in this case, the only place where reduced spacing is used is between initials: somebody tells to write
D.\,E.~Knuth
instead of
D.~E.~Knuth
(which I prefer, but it's personal preference). In any case, your "non sentence ending periods" should be marked somehow, so why bother?
Note. I usually put the tie before the family name, it's easy to change it to a normal space in case of typesetting problems.
Addition
As I said, the "non sentence ending periods" must be marked somehow. Since you are using \frenchspacing
, we can overload \@
:
\frenchspacing
\makeatletter
\def\@{\@ifnextchar.{.\,\@gobbledot}{}}
\def\@gobbledot#1{\ignorespaces}
\makeatother
This way
Dr\@. Treemunch i.e\@. a main character in ``The Joy of TeX''
will result in a reduced space after the period. I don't see how "non sentence ending periods" can be recognized automatically, since they can be after uppercase as well as lowercase letters.
Under normal circumstances (i.e. not in verbatim
or similar), TeX converts line ends to spaces and combines multiple spaces into a single space. It also skips spaces at the start of a line. Thus
% Comment to show start of text
\usepackage{foo}
and
% Comment to show start of text
\usepackage{foo}% Note spaces
are equivalent. In the same way
\hypersetup{% % Konfiguration hyperref
pdftitle={Titel} % Titel
,pdfauthor={username} % Verfasser
is equivalent to
\hypersetup{pdftitle={Titel} ,pdfauthor={username} ...
(note the space before the comma). Most LaTeX keyval implementations ignore spaces 'before' and 'after' each entry, so
\setkeys{somepkg}{foo=bar,foo2=bar2}
and
\setkeys{somepkg}{ foo=bar , foo2=bar2 }
are equivalent, meaning that the space in the hyperref
line is also fine. It's worth noting that most LaTeX keyval implementations also ignore spaces around the =
, so that
foo = bar
and
foo=bar
are equivalent. (This is not true for ConTeXt. It's also worth noting that datatool
uses a keyval implementation which is much less forgiving on spaces.)
Not directly related, but many people prefer having the commas at the end of the line
\hypersetup{% % Konfiguration hyperref
pdftitle={Titel}, % Titel
pdfauthor={username}, % Verfasser
% linktoc=all % Alles als Link setzen
}
which follows exactly the same rules: you can have the commas 'flush' or aligned and spaces will still be ignored.
Best Answer
No. Multiple consecutive spaces are gobbled into a single space within the code, unless they are hard coded (like using
~
or\
- a control space - or via\hspace
, or ...).The setting of it might differ, however, depending on the other elements within the line of text. This is because the inter-word spacing can shrink/stretch as the paragraph setting is optimised. Here are some examples that hopefully illustrates this: