[OS X TeX] Microtype Fix (from: Microtype mystery)
Martin Costabel
costabel at wanadoo.fr
Mon Aug 30 18:00:24 EDT 2010
Ross Moore wrote:
[]
> Morten's suggestion of rebinding via
>
> \let\ifMT at inlist@\iftrue
>
> does not fix the error that you are reporting.
The reason is that if xetex is true, then the \makeatother in the \else
clause is not executed, and the scanning for \if-\fi clauses does not
see the macro \ifMT at inlist@, but only \ifMT, which it does not know.
Thus Morton's suggestion works if it is replaced by
\let\ifMT\iftrue
This is, of course, not a good solution (incomprehensible, and it might
interfere with other legitimate definitions.)
A simpler solution for the whole problem would be to not use "\fi" at
all in Robert's fix, but "\csname fi\endcsname". Thus the lines would
look like
\makeatletter
\def\MT at register@subst at font{\MT at exp@one at n\MT at in@clist\font at name\MT at font@list
\ifMT at inlist@\else\xdef\MT at font@list{\MT at font@list\font at name,}\csname
fi\endcsname}
\makeatother
This works inside the \ifxetex clause without further changes.
The real solution is, of course, to put these lines, without the
\makeatletter/other, into the microtype.sty.
--
Martin
More information about the MacOSX-TeX
mailing list