Download The microtype package
Transcript
IMPLEMENTATION: Package options
127
Some packages depend on the value of \pdfoutput and will get confused if it
is changed after they have been loaded. These packages are, among others: color,
graphics, hyperref, crop, contour, pstricks and, as a matter of course, ifpdf. Instead
of testing for each package (that’s not our job), we only say that it was microtype
that changed it. This must be sufficient!
\MT@info@nl{Generating \ifnum\pdfoutput<\@ne DVI \else PDF \fi output%
\ifMT@opt@DVI\space (changed by \MT@MT)\fi}%
Working on font copies?
\ifx\MT@copy@font\relax\else \MT@info@nl{Using font copies for contexts}\fi
Fix the font sets.
\MT@map@tlist@c\MT@font@sets\MT@fix@font@set
Protrusion.
\ifMT@protrusion
\edef\MT@active@features{\MT@active@features,pr}%
\pdfprotrudechars\MT@pr@level
\MT@info@nl{Character protrusion enabled (level \number\MT@pr@level)%
\ifnum\MT@pr@factor=\MT@factor@default \else,\MessageBreak
factor: \number\MT@pr@factor\fi
\ifx\MT@pr@unit\@empty \else,\MessageBreak unit: \MT@pr@unit\fi}%
\MT@check@active@set{pr}%
\else
\let\MT@protrusion\relax
\MT@info@nl{No character protrusion}%
\fi
Expansion.
\ifMT@expansion
Set up the values for font expansion: if stretch has not been specified, we take
the default value of 20.
\ifnum\MT@stretch=\m@ne
\let\MT@stretch\MT@stretch@default
\fi
If shrink has not been specified, it will inherit the value from stretch.
\ifnum\MT@shrink=\m@ne
\let\MT@shrink\MT@stretch
\fi
If step has not been specified, we will just set it to 1 for recent pdfTeX versions. My
tests did not show much difference neither in compilation time (within the margin
of error) nor in file size (less than 1% difference for microtype.pdf with step=1
compared to step=5). With older versions, we set it to min(stretch,shrink)/5,
rounded off, minimum value 1.
\MT@requires@pdftex6{\def\MT@step{1 }}{%
\ifnum\MT@step=\m@ne
\ifnum\MT@stretch>\MT@shrink
\ifnum\MT@shrink=\z@
\@tempcnta=\MT@stretch
\else
\@tempcnta=\MT@shrink
\fi
\else
\ifnum\MT@stretch=\z@
\@tempcnta=\MT@shrink