14

I am using the memoir class in XeTeX with the microtype package. As generally protrusion works as expected, it doesn't work for superscript numbers, which occur as footnote references. According to this article it ought to work with some extra settings:

\SetProtrusion{encoding={*},family={bch},series={*},size={6,7}}
              {1={ ,750},2={ ,500},3={ ,500},4={ ,500},5={ ,500},
               6={ ,500},7={ ,600},8={ ,500},9={ ,500},0={ ,500}}

But in my example it does not work: enter image description here

\documentclass[a4paper,10pt,twoside]{memoir}
\usepackage{fontspec}
\usepackage[protrusion=true,final]{microtype}

% rubber: set program xelatex
\setmainfont[Numbers={OldStyle},Ligatures={Common, Historic}]{Liberation Serif}
\SetProtrusion{encoding={*},family={Liberation Serif},series={*},size={6,7,8,9}}
{1={ ,750},2={ ,500},3={ ,500},4={ ,500},5={ ,500},
    6={ ,500},7={ ,600},8={ ,500},9={ ,500},0={ ,500}}

\usepackage[]{blindtext}

\begin{document}
\chapter{Dies ist eine Kapitelüberschrift}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet mi,
nec ante. Donec, ullamcorper, felis non sodales commodo, lectus velit ultrices
augue, a dignissim nibh\footnote{\blindtext} lectus placerat pede. Vivamus nunc nunc, molestie
ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque.
Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum augue a
leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a, turpis.
Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum turpis accumsan
semper.
\blindtext
\end{document}   

What is wrong in the above example?

11

Protrusion is inhibited here because the memoir class inserts infinitesimal kerns after footnote markers to check whether there are two consecutive footnotes12, in which case it would insert a separating comma1,2.

While these kerns are only meant to be a way of carrying on information (if memoir finds this very, very small kern of 3sp it assumes that the previous thing typeset was a footnote marker) without being visible (not only because the kern is so small, but also because there are actually two kerns - one positive, one negative, cancelling each other out), they will still prevent pdftex from applying protrusion.

To allow protrusion of footnote markers, you therefore have to disable this feature by adding the following to your preamble:

\makeatletter
\let\m@mmf@prepare\relax
\let\m@mmf@check\relax
\makeatother

resulting in:

enter image description here

(This of course means that memoir will no longer be able to automatically identify consecutive footnotes, so that you would have to insert \multfootsep manually.)

  • Thank you, for pointing that out. Could you explain, what ›infinitesimal kerns‹ are, please? I couldn't find nothing about this. Sorry I am a curious beginner. – user5950 Mar 21 '16 at 15:20
  • It works with the minimal example above, but does not when I change the font to Adobe Garamond Pro with \setmainfont[Numbers={OldStyle},Ligatures={Common, Historic}]{Adobe Garamond Pro}. Any ideas? Could that depend on the fact, that this font has extra characters for superscript numbers? – user5950 Mar 22 '16 at 19:26
  • @user5950 Yes, you're correct: oldstyle (and tabular) numbers in this font are named /one.taboldstyle, /two.taboldstyle etc., which you should use instead of 1, 2, ... in the \SetProtrusion settings. – Robert Mar 23 '16 at 2:47
  • I have an other issue: It does not work with the hyperref package. Is there a solution for this? Should I open an other question? – user5950 Apr 13 '16 at 7:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.