10.07.2015 Views

The microtype package

The microtype package

The microtype package

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IMPLEMENTATION: Preliminaries 47\MT@rem@from@clist\MT@in@tlist\MT@in@tlist@\MT@in@rlist\MT@in@rlist@\MT@in@rlist@@\MT@size@name\MT@loop\MT@iterate\MT@repeat598 \def\MT@in@clist#1#2{%599 \def\MT@res@a##1,#1,##2##3\@nnil{%600 \ifx##2\@empty601 \MT@inlist@false602 \else603 \MT@inlist@true604 \fi605 }%606 \expandafter\MT@res@a\expandafter,#2,#1,\@empty\@nnil607 }Remove item 〈#1〉 from comma list 〈#2〉. This is basically \@removeelement fromltcntrl.dtx. Using \pdfmatch and \pdflastmatch here would be really slow!608 \def\MT@rem@from@clist#1#2{%609 \def\MT@res@a##1,#1,##2\MT@res@a{##1,##2\MT@res@b}%610 \def\MT@res@b##1,\MT@res@b##2\MT@res@b{\ifx,##1\@empty\else##1\fi}%611 \xdef#2{\MT@exp@two@c\MT@res@b\MT@res@a\expandafter,#2,\MT@res@b,#1,\MT@res@a}%612 }Test whether item is in token list. Since this isn’t too elegant, I thought that at leasthere, \pdfmatch would be more efficient – however, it turned out to be even slowerthan this solution.613 \def\MT@in@tlist#1#2{%614 \MT@inlist@false615 \def\MT@res@a{#1}%616 \MT@map@tlist@c#2\MT@in@tlist@617 }618 \def\MT@in@tlist@#1{%619 \edef\MT@res@b{#1}%620 \ifx\MT@res@a\MT@res@b621 \MT@inlist@true622 \expandafter\MT@tlist@break623 \fi624 }Test whether size \MT@size is in a list of ranges. Store the name of the list in\MT@size@name625 \def\MT@in@rlist#1{%626 \MT@inlist@false627 \MT@map@tlist@c#1\MT@in@rlist@628 }629 \def\MT@in@rlist@#1{\expandafter\MT@in@rlist@@#1}630 \def\MT@in@rlist@@#1#2#3{%631 \MT@ifdim{#2}=\m@ne{%632 \MT@ifdim{#1}=\MT@size633 \MT@inlist@true634 \relax635 }{%636 \MT@ifdim\MT@size

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

Saved successfully!

Ooh no, something went wrong!