10.07.2015 Views

The microtype package

The microtype package

The microtype package

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

IMPLEMENTATION: Font setup 78\MT@tr@outer@next\MT@tr@outer@r@\MT@if@outer@next\MT@tr@outer@r@@disturb tikz.1976 \MT@addto@setup{%1977 \@if<strong>package</strong>loaded{tikz}1978 {\def\MT@tr@outer@r{%1979 \ifnum\tikz@expandcount>\z@ \else1980 \expandafter\MT@tr@outer@r@\fi}}1981 {\let\MT@tr@outer@r\MT@tr@outer@r@}}<strong>The</strong> following is borrowed from soul. I’ve added the cases for italic correction,since tracking may also be triggered by text commands (e.g., \textsc).1982 \def\MT@tr@outer@r@{%1983 \futurelet\MT@tr@outer@next\MT@tr@outer@r@@1984 }We avoid using \ifx tests, in case \MT@tr@outer@next is \let to \fi etc.1985 \def\MT@if@outer@next#1{%1986 \ifx\MT@tr@outer@next#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi1987 }1988 \def\MT@tr@outer@r@@{%1989 \def\MT@temp*{}%Don’t adjust in math mode. <strong>The</strong>re was a tricky bug when \textls was the lastcommand in a \mathchoice group.1990 \ifmmode \elseA similar bug occurred when adjustment would happen inside a discretionarygroup, which we prevent here. This only works with e-TEX (which we know isavailable).1991 \ifnum\currentgrouptype=10 \else1992 \def\MT@temp*##1{\ifhmode\hskip\MT@outer@space1993 \MT@dinfo2{]]] adjusting post space (1): \the\MT@outer@space}%1994 \fi}%1995 \expandafter\ifcat\expandafter\noexpand\csname MT@tr@outer@next\endcsname\egroup1996 \ifhmode\unkern\fi\egroup1997 \MT@set@curr@ok \MT@set@curr@os1998 \def\MT@temp*{\afterassignment\MT@tr@outer@r@\let\MT@temp=}%1999 \elseIf the next token is \maybe@ic (from an enclosing text command), we gobble it,read the next one, feed it to \maybe@ic@ (via \MT@tr@outer@icr) and then callourselves again.2000 \MT@if@outer@next\maybe@ic{%2001 \MT@set@curr@ok \MT@set@curr@os2002 \def\MT@temp*{\afterassignment\MT@tr@outer@icr\let\MT@temp=}%2003 }{%If the next token is \check@icr (from an inner text command), we insert ourselvesjust before it. This will then call \maybe@ic again the next round (which howeverwill always insert an italic correction, since it doesn’t read beyond our group).2004 \MT@if@outer@next\check@icr{%2005 \def\MT@temp*{\aftergroup\MT@tr@outer@r@\check@icr\let\MT@temp=}%2006 }{%2007 \MT@if@outer@next\@sptoken{%2008 \def\MT@temp* {\ifhmode\hskip\MT@outer@space2009 \MT@dinfo2{]]] adjusting post space (2): \the\MT@outer@space}%2010 \fi}%2011 }{%2012 \MT@if@outer@next~{%2013 \def\MT@temp*~{\nobreak\hskip\MT@outer@space

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!