The following MWE compiles with pdftex but produces a mysterious warning.

Here is some text

The warning is:

Package microtype Warning: Unknown slot number of character
(microtype)                `\%'
(microtype)                in font encoding `OT1' in protrusion list
(microtype)                `default'.

There doesn't seem to be anything wrong with the compiled document, but I get dozens of this error in the full doc and I was wondering what it meant...

Adding \usepackage[T1]{fontenc} doesn't help (except the error is now about T1 encoding instead. Permuting the order of the packages doesn't seem to help either.

A \listfiles:

 *File List*
 article.cls    2007/10/19 v1.4h Standard LaTeX document class
  size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
libertine.sty    2009/05/22a - 4.5.1a -LaTeX: Font libertine - (License GPL) Michael Niedermair
  keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
    calc.sty    2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
  ifthen.sty    2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
  xcolor.sty    2007/01/21 v2.11 LaTeX color extensions (UK)
   color.cfg    2007/01/18 v1.5 color configuration of teTeX/TeXLive
  pdftex.def    2010/03/12 v0.04p Graphics/color for pdfTeX
  xspace.sty    2006/05/08 v1.12 Space after command names (DPC,MH)
microtype.sty    2009/03/27 v2.3d Micro-typography with pdfTeX (RS)
microtype.cfg    2009/03/27 v2.3d microtype main configuration file (RS)
mathastext.sty    2011/02/07 1.12 Use the text font in simple mathematics
   t1fxl.fd    2009/05/22 scaled font definitions for libertine T1/fxl (Nm).

Like I said, this error doesn't seem to translate into anything wrong with the output PDF, but I'd like to know what's going on. (I'm trying to get rid of the clutter from my log file...

I've learned that the silence package can hide these errors, but I'd like to know what's causing it. It seems that it's not a conflict with that particular font, since it also works if you substitute other fonts for libertine.

Can anyone confirm that they get this error?

  • the current (1.15g) version of mathastext on CTAN has corrected this issue of compatibility with microtype.
    – user4686
    Oct 27, 2012 at 9:02

1 Answer 1


For (to me) mysterious reasons, mathastext redefines \% to respect \mathbf or \mathit in math mode:


where \mt@mmode@percent means \mathchar"7425. It does the same for \#, \$ and \&, but it seems that only \% is considered by microtype for its protrusion tables and this definition confuses it. Doing


after loading mathastext (so as to restore the original definition) avoids the warning. Of course


is exactly the same.

\mathchar"7425 means:

  • normally use character 0x25 (hexadecimal, decimal 37) from math family 4, which is the normal math font, ad defined by mathastext (the number may actually change, but it always refers to the basic font);
  • however, if \mathgroup is greater than -1 (that is we are in \mathbf or \mathit or another of such kind of commands), use character 0x25 from family \mathgroup.

With the restored definition, \% in math mode will use the font from math family 0, which is always the text font, so it may be different from the basic math font.

  • This interaction with microtype can be avoided through loading mathastext with option nospecials: this turns off the mathastextification of the \%, \#, \$, and \& characters. But Enrico's proposed workarounds suffice as apparently only \% initiated a problem.
    – user4686
    Oct 18, 2012 at 13:55
  • the redefinitions of \% and the like were a bit strange, but actually modeled on \$. The 1.15g version of mathastext has corrected this problem of incompatibility with microtype. Regarding the mathcode's, it is primarily to change the math font family. Additionally the 7 will as you explain make the characters sensitive to math alphabet commands, which may or may not be a useful thing. The problem is that to be consistent mathastext should do that also for things such as ! or ; but it can't because these characters have an assigned type (\mathclose, \mathpunct).
    – user4686
    Oct 27, 2012 at 9:09

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.