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 91\MT@is@symbol\MT@is@char\MT@charstring\MT@charxstring\MT@strip@prefix\MT@is@charx\MT@is@composite<strong>The</strong> symbol commands might expand to funny stuff, depending on context. Insteadof simply expanding \〈command〉, we construct the command \〈encoding〉\〈command〉and see whether its meaning is \char"〈hex number〉, which is the case for everythingthat has been defined with \DeclareTextSymbol in the encoding definitionfiles.2566 \def\MT@is@symbol{%2567 \expandafter\def\expandafter\MT@char\expandafter2568 {\csname\MT@encoding\MT@detokenize@c\@tempa\endcsname}%2569 \expandafter\MT@exp@two@c\expandafter\MT@is@char\expandafter2570 \meaning\expandafter\MT@char\MT@charstring\relax\relax\relax2571 \ifnum\MT@char@ < \z@. . . or, if it hasn’t been defined by \DeclareTextSymbol, a letter (e.g., \i, whenusing frenchpro).2572 \expandafter\expandafter\expandafter\MT@is@letter\MT@char\relax\relax2573 \fi2574 }A helper macro that inspects the \meaning of its argument.2575 \begingroup2576 \catcode`\/=\z@2577 /MT@map@tlist@n{/\CHARLEX}/@makeother2578 /lowercase{%2579 /def/x{/endgroup2580 /def/MT@charstring{\CHAR"}%2581 /def/MT@is@char##1\CHAR"##2##3##4/relax{%2582 /ifx/relax##4/relax2583 /ifMT@xunicode2584 /expandafter/MT@is@charx/MT@strip@prefix##1>/relax\CHAR "%2585 /relax/relax/relax/relax/relax2586 /fi2587 /else2588 /ifx/relax##1/relax2589 /if##3\/relax2590 /edef/MT@char@{/number"##2}%2591 /MT@ifstreq/MT@charstring{##3##4}/relax/MT@norestfalse2592 /else2593 /edef/MT@char@{/number"##2##3}%2594 /MT@ifstreq/MT@charstring{##4}/relax/MT@norestfalse2595 /fi2596 /MT@dinfo@nl{3}{> `/the/MT@toks’ is a \char (/MT@char@)}%2597 /fi2598 /fi2599 }%For xunicode, which doesn’t \countdef, but rather \defs the chars.2600 /def/MT@charxstring{\CHAR "}%2601 /def/MT@strip@prefix##1>##2/relax{##2}%2602 /def/MT@is@charx##1\CHAR "##2##3##4##5##6/relax{%2603 /ifx/relax##1/relax2604 /ifx/relax##6/relax/else2605 /edef/MT@char@{/number"##2##3##4##5}%2606 /MT@ifstreq{\RELAX >\CHAR "}{##6}/relax/MT@norestfalse2607 /MT@dinfo@nl{3}{> `/the/MT@toks’ is a xunicode \char (/MT@char@)}%2608 /fi2609 /fi2610 }%2611 }%2612 }2613 /xHere, we are dealing with accented characters, specified as two tokens.

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

Saved successfully!

Ooh no, something went wrong!