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: Configuration 101\MT@get@size\MT@define@set@key@font2950 }{%2951 \def\MT@val{#2}%2952 \MT@get@size2953 \ifx\MT@val\relax \else2954 \MT@ifdim\MT@lower>\MT@val{%2955 \MT@error{%2956 Invalid size range (\MT@lower\space > \MT@val) in font set2957 `\MT@curr@set@name’.\MessageBreak Swapping sizes}{}%2958 \edef\MT@upper{\MT@lower}%2959 \edef\MT@lower{\MT@val}%2960 }{%2961 \edef\MT@upper{\MT@val}%2962 }%2963 \MT@ifdim\MT@lower=\MT@upper2964 {\def\MT@upper{-1}}%2965 \relax2966 \fi2967 }%2968 \fi2969 }%2970 }Translate a size selection command and normalise it.2971 \def\MT@get@size{%A single star would mean \sizedefault, which doesn’t exist, so we define it to be\normalsize.2972 \if*\MT@val\relax2973 \def\@tempa{\normalsize}%2974 \else2975 \MT@let@cn\@tempa{\MT@val}%2976 \fi2977 \ifx\@tempa\relax \else<strong>The</strong> relsize solution of parsing \@setfontsize does not work with the AMSclasses, among others. I hope my hijacking doesn’t do any harm. We redefine\set@fontsize, and not \@setfontsize because some classes might define the sizeselection commands by simply using \fontsize (e.g., the a0poster class).2978 \begingroup2979 \def\set@fontsize##1##2##3##4\@nil{\endgroup\def\MT@val{##2}}%2980 \@tempa\@nil2981 \fiTest whether we finally got a number or dimension so that we can strip the ‘pt’(\@defaultunits and \strip@pt are kernel macros).2982 \MT@ifdimen\MT@val{%2983 \@defaultunits\@tempdima\MT@val pt\relax\@nnil2984 \edef\MT@val{\strip@pt\@tempdima}%2985 }{%2986 \MT@warning{Could not parse font size `\MT@val’\MessageBreak2987 in font set `\MT@curr@set@name’}%2988 \let\MT@val\relax2989 }%2990 }2991 \def\MT@define@set@key@font#1{%2992 \define@key{MT@#1@set}{font}[]{%2993 \MT@glet@nc{MT@#1list@font@\MT@curr@set@name}\@empty2994 \MT@map@clist@n{##1}{%2995 \KV@@sp@def\MT@val{####1}%2996 \MT@ifstreq\MT@val*{\def\MT@val{*/*/*/*/*}}\relax2997 \expandafter\MT@get@font\MT@val/////\@nil

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

Saved successfully!

Ooh no, something went wrong!