%%%% ======================================================================== %%%% @MFT-file{ %%%% author = "Ulrik Vieth", %%%% email = "vieth@thphy.uni-duesseldorf.de", %%%% filename = "mp2.mft", %%%% version = "0.10", %%%% date = "29 January 1996", %%%% time = "00:30:06 MET", %%%% codetable = "ISO/ASCII", %%%% checksum = "00449 146 841 6351", %%%% supported = "yes", %%%% keywords = "MFT, METAFONT, MetaPost, pretty-printing", %%%% abstract = "", %%%% docstring = "", %%%% } %%%% ======================================================================== %%%% %%%% MFT commands for METAPOST including "plain" and "mfplain" %%%% %%%% This file is loosely based on the file "mp.mft" by Andreas Scherer %%%% , but numerous changes %%%% have been made. In particular, support for some standard MetaPost %%%% packages like "graph.mp" and "boxes.mp" has been added. %%%% %%%% %%%% METAPOST primitives not found in METAFONT %%%% (METAFONT primitives are hard-wired in the MFT program) %%%% %%% step within %%%% boldface binary operators %%% addto btex verbatimtex readfrom write %%%% boldface unary operators %%% addto clip setbounds %%% enddef etex %%%% boldface closing %%% true mpxbreak %%%% boldface nullary operators %%% length redpart greenpart bluepart %%%% unary operators in roman %%% length fontpart textpart pathpart penpart dashpart fontsize %%% length llcorner lrcorner ulcorner urcorner arclength %%% length stroked filled textual clipped bounded %%% and infont %%%% binary operators in roman %%% penoffset arctime %%%% operators that take "of" %%% withpen withcolor dashed %%%% drawing options %%% pair color %%%% data types %%% pausing tracinglostchars %%%% internals %%% pausing linejoin linecap miterlimit prologues truecorners %%%% %%%% Variables and macros defined both in "plain.mf" and "plain.mp" %%%% (from "plain.mft", but severly edited) %%%% %%% } ( ) ]] ! ^ %%%% tokens that need no special formatting %%% .. ... -- --- %%%% path operators made of dots and dashes %%% ++ ** %%%% binary operators made of two special characters %%% step upto downto thru %%%% boldface binary operators %%% addto fill unfill draw undraw %%%% boldface unary operators %%% addto filldraw unfilldraw drawdot undrawdot cutdraw cutoff culldraw %%% addto erase pickup penstroke %%% addto exitunless stop incr decr range %%% pencircle pensquare penrazor penspeck %%% true relax blankpicture %%%% boldface nullary operators %%% true clearit shipit cullit openit showit clearxy clearpen savepen %%% length abs dir byte %%%% unary operators to be in roman type %%% length unitvector inverse ceiling round hround vround counterclockwise %%% length tensepath reflectedabout rotatedaround rotatedabout %%% length magstep max min %%% and mod div dotprod %%% and intersectionpoint softjoin %%%% binary operators to be roman %%% penoffset direction directionpoint %%%% operators that take "of" %%% penoffset takepower %%% pausing pen_top pen_bot pen_lft pen_rt %%% pausing lft rt top bot llft lrt ulft urt %%% end bye %%%% %%%% Variables and macros defined only in "plain.mp" %%%% %%% addto beginfig %%%% boldface opening %%% enddef endfig %%%% boldface closing %%% addto dashpattern image bbox %%%% boldface operators %%% addto label dotlabel thelabel %%%% FIXME: handling of suffixes? %%% addto makelabel labels dotlabels penlabels %%% addto arrowhead drawarrow drawdblarrow drawoptions %%% length center on off %%%% unary operators in roman %%% and cutbefore cutafter %%%% binary operators in roman %%% pausing beveled butt mitered rounded squared evenly withdots %%% pausing EOF %%%% %%%% Variables and macros defined only in "mfplain.mp" %%%% (for METAFONT compatibility, partly from "plain.mft") %%%% %%% addto beginchar %%%% boldface opening %%% enddef endchar %%%% boldface closing %%% addto define_pixels define_whole_pixels define_whole_vertical_pixels %%% addto define_good_x_pixels define_good_y_pixels define_blacker_pixels %%% addto define_whole_blacker_pixels define_whole_vertical_blacker_pixels %%% addto define_corrected_pixels define_horizontal_corrected_pixels %%% addto lowres_fix screenrule proofrule proofoffset proofrulethickness %%% addto makebox makegrid maketicks %%% addto italcorr font_size font_slant %%% addto font_normal_space font_normal_stretch font_normal_shrink font_quad %%% addto font_x_height font_extra_space font_identifier font_coding_scheme %%% addto mode_def capsule_def %%% true mode_setup %%% true nodisplays notransforms screenchars screenstrokes %%% true imagerules gfcorners %%% pausing tolerance pixels_per_inch blacker o_correction %%%% internals %%% pausing screen_rows screen_cols currentwindow displaying proofing %%%% %%%% Variables and macros defined in "graph.mp", "marith.mp", "sarith.mp" %%%% %%% addto begingraph %%%% boldface opening %%% enddef endgraph %%%% boldface closing %%% addto gdraw gfill gdata %%%% boldface operators %%% addto glabel gdotlabel augment %%%% FIXME: handling of suffixes? %%% addto gdrawarrow gdrawdblarrow gdrawoptions %%% addto setcoords setrange %%% good auto %%% addto itick otick grid autogrid frame %%% addto format %%% length Mabs Sabs Scvnum Mlog_str %%%% unary operators in roman %%% and Madd Msub Mmul Mdiv Mleq %%%% binary operators in roman %%% and Sadd Ssub Smul Sdiv Sleq Sneq %%% pausing linear log OUT %%%% internals %%%% %%%% Variables and macros defined in "boxes.mp" and "rboxes.mp" %%%% %%% addto drawboxes drawboxed drawunboxed boxjoin boxit circleit rboxit %%% pausing defaultdx defaultdy %%%% %%%% Last minute items: override some builtin defaults %%%% %%% addto step fi makepen makepath %%%% %%%% %%%% Finally some TeX hackery: %%%% %%%% - comments are normally flush left, not flush right %%%% - comments starting with %\[ are set flush right %%%% - comments starting with %\ are set off by \qquad %%%% %%%% - comments ending with \] are also set flush left %%%% (defined in mftmac.tex) %%%% %%\def\9{$\futurelet\next\doit} %%\let\[=\relax %%\def\doit{\ifx\next\[\def\next{\hfill{\rm\%}}% %% \else\ifx\next\ \def\next{\qquad{\rm\%}}% %% \else\def\next{{\rm\%}}\fi\fi\next} %%%% %%%% End of file `mp2.mft'.