[OS X TeX] Microtype Fix (from: Microtype mystery)

R. Vijay Krishna rvk at unc.edu
Mon Aug 30 08:37:24 EDT 2010


Hi Ross,

Thanks for the reply, and the explanation.  Unfortunately, I still get the same error, and the code (snippet) below doesn't seem to fix it.  

> Here's one way to fix the problem.
> 
>> 
> \usepackage{ifxetex}
> \makeatletter
> \let\MT at inlist@fi\fi
> \makeatother
> \ifxetex

and the error again
----
! Too many }'s.
l.31 ...MT at font@list{\MT at font@list\font at name,}\fi}
                                                   \makeatother
? 
! Extra \fi.
l.35 \fi
----

> No. It is a matter of understanding how TeX processes
> \if...  \else ... \fi  conditionals.
> 
> The "Fix" for microtype assumes that the microtype
> package has been loaded, which only happens when the 
> TeX engine supports it (i.e., with pdfTeX).
> 
> For any other engine, that coding is potentially
> unbalanced. Certainly it cannot go inside another
> conditional, without taking care to keep it properly
> balanced within that setting.

I think I understand what the problem is.  But if I am using XeLaTeX, why is it that the "fix" for microtype is read, but the line loading the package microtype is not read?  More generally, if the conditional is not true, ie the "if" part is not true, why is the "then" part read at all?  (Or at least compiled?  I suppose reading it is inevitable, if only to determine the end of the "then" part.)


> Hope this helps,
> 
> 	Ross

I think I am fine, at least for the moment, but still a little perplexed.

Thanks,
Vijay.




More information about the MacOSX-TeX mailing list