8

I and co-authors are considering adding \usepackage{microtype} to a large book, since we agree that in general it’s a typographic improvement.

However, we want to make sure microtype doesn’t make things worse anywhere. (The current version of the book has already been out for a while, and carefully proofread for layout issues.)

Since it may change line-breaks and hence paragraphs/pagination, we at least need to check again for overfull hboxes and bad widows and orphans. Are there any other kinds of infelicities likely to arise from adding microtype, that we should be looking out for?

10
  • 2
    I would generally recommend to load \usepackage[babel]{microtype} after loading \usepackage[...]{babel}. This makes sure that the correct spacing patterns are loaded for your language (e.g. larger space after full stop in English, spaces around "!" and "?" in French). This brings up one additional problem when you do this and the main language of your book is English. The additional space will be added after every full stop. That means you have to escape full stops after abbreviations (as shown e.g.\ by) to add extra space only at the end of sentences. Nov 2, 2016 at 12:05
  • 3
    @ManuelWeinkauf Don't you have to escape full stops after abbreviations anyway in TeX? In my experience, even without babel, TeX adds some extra space after every full stop unless you tell it otherwise. Nov 2, 2016 at 12:08
  • 3
    if you don't like the wider spacing after full stops, you can always apply \frenchspacing, which makes all spaces uniform. insert that after microtype of course. Nov 2, 2016 at 12:13
  • 1
    I was having some ugly alignment issues with a document a while back and eventually found microtype to be responsible. Example (lines 1 & 2): i.sstatic.net/0GXkI.png I would only recommend using microtype if you're willing to go through and proofread every single line all over again, and manually fix every issue. I would argue that any improvements gained from using microtype are too subtle for it to be worthwhile, especially for a large book that would be very time consuming to proofread.
    – Ulysses
    Nov 2, 2016 at 12:44
  • 2
    @ManuelWeinkauf Sure, but your first comment specifically said that when the language is English there is an additional problem coming from babel+microtype, which I don't think is right -- if the language is English, then you should already be getting extra spaces after full stops unless they are escaped. Nov 2, 2016 at 15:53

1 Answer 1

5

Generally, I consider microtype a very safe addition. It rarely makes things worse and it generally makes things better. But rarely is not never.

Protrusion can be problematic because it does not work everywhere and this can lead to visual inconsistencies which may be more distracting than non-optically aligned text.

flushleft has already been mentioned. The default definitions for section headings also disable protrusion in most classes, including the standard ones.

For example,

protrusion oddities

shows that protrusion is disabled by \section*{}. This may not be a big issue. For example, you might always number headings or you might be centring them or you might have the first line of paragraphs following such headings indented. In any of those cases, the discrepancy is much less likely to be noticeable. Moreover, it is relatively unusual to start section headings with punctuation, where the effect tends to be most pronounced.

This can be fixed. For example, I patch the default sectioning from the standard classes to enable protrusion.

fixed sectioning

This also works with some other classes. For example, I believe it works with Memoir. It does not work with titlesec.

The other thing to note is that you can choose which features to enable and which not. So you could use microtype's font expansion features, say, without using protrusion.

Finally, the effects of protrusion are font-dependent. I've deliberately used a font which has tailored protrusion settings. If you are using a font which does not, the generic settings will be used, if protrusion is enabled. In that case, the settings are more conservative and the effects less pronounced. Of course, this means that the benefits of protrusion are smaller, because microtype errs on the side of not-correcting rather than correcting, but it also means that the discrepancies between text where protrusion is disabled and the same text where it is enabled will be less marked.

Complete code:

\begin{filecontents}{microtype-standard-sectioning-fix.sty}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{svn-prov}
\ProvidesPackageSVN{$Id: microtype-standard-sectioning-fix.sty 3779 2015-08-27 16:16:40Z cfr $}[\filebase \revinfo]

\def\@ssect#1#2#3#4#5{% modified from latex.ltx - for starred sections below chapter level
  \@tempskipa #3\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #4{%
        \interlinepenalty \@M \noindent #5\@@par}%
    \endgroup
  \else
    \def\@svsechd{#4{%
                \cfr@microfix@sec{#1}#5}}%
  \fi
  \@xsect{#3}}
\def\@sect#1#2#3#4#5#6[#7]#8{% modified from latex.ltx - for unstarred sections below chapter level
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #6{%
                \@hangfrom{\cfr@microfix@sec{#3}\@svsec}%
          \interlinepenalty \@M #8\@@par}%
    \endgroup
    \csname #1mark\endcsname{#7}%
    \addcontentsline{toc}{#1}{%
      \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname}%
      \fi
      #7}%
  \else
    \def\@svsechd{%
          #6{\cfr@microfix@sec{#3}%
      \@svsec #8}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname}%
        \fi
        #7}}%
  \fi
  \@xsect{#5}}
\newcommand*\cfr@microfix@sec[1]{%
  \ifdim#1=0pt
        \noindent
  \else
        \hskip #1\relax
  \fi}

\endinput
\end{filecontents}

\documentclass[british]{article}
\usepackage{cfr-lm,babel,tikz,tikzpagenodes}
\usepackage{microtype,microtype-standard-sectioning-fix}
\begin{document}
\section*{`Quotable phrases'}
`Quotable phrases'

\tikz[overlay,remember picture]{\draw [opacity=.5, thin, gray!50!blue] (current page text area.south west) -- (current page text area.north west); }
\end{document}

You must log in to answer this question.

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