diff options
Diffstat (limited to 'systems/unix/tex-gpc/mp/README')
-rw-r--r-- | systems/unix/tex-gpc/mp/README | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/systems/unix/tex-gpc/mp/README b/systems/unix/tex-gpc/mp/README new file mode 100644 index 0000000000..eab901fca6 --- /dev/null +++ b/systems/unix/tex-gpc/mp/README @@ -0,0 +1,186 @@ +Aug. 2008 +This is the stage directory to build and install John Hobby's +METAPOST for GPC. METAPOST produces pictures as PostScript files +that are to be included by dvips in its output. + +METAPOST's file formats and their documentation: +------------------------------------------------ +.mp METAPOST source, + see "A User's manual for MetaPost", AT&T Bell Laboratories + Computing Science Technical Report 162, 1992 +.mpx METAPOST source, auxiliary file, needed if a .mp file contains text. +.mem METAPOST format file (plain.mp) +.c C source (Kernighan/Ritchie The C Programming Language) +.ps Adobe PostScript +.<n> Where n an integer, a PostScript file for picture n, to be included + by dvips. + + +builtin file names: +------------------ +MPlib/mp.pool string pool for mp, (in inimp) +MPlib/plain.mem base file for Plain METAFONT, (in mf) + +METAPOST's processors: +---------------------- + inimp + plain.mp -------> MPlib/plain.mem + + mp +.mp, .mpx -------> .n + + mptotex +.mp -------> .tex + + tex +.tex -------> .dvi + + dvitomp +.dvi --------> .mpx + + mpx +.mp --------> .n (combines the last four steps) + +Use the shell script mpx instead of mp if your .mp file contains +TeX programs. These extra steps are necessary to include TeX's output +in the picture. + +And finally: + dvips +.<n>, .dvi, .pk, .tfm ----> PostScript file/printer + + +Get John Hobby's distribution +----------------------------- +The sources from CTAN only work with web2c but not with WEB programs, +so I downloaded the originals from netlib: + ftp ftp://ftp.netlib.org/research/metapost.tar.Z +unpack it with uncompress and tar xf: + uncompress metapost.tar.Z + tar xf metapost.tar +This will give you a directory metapost, from which you copy at least +mp.web, plain.mp, mptotex.c and dvitomp.web into this directory. + +Masterdirectories: +------------------ +Create the master directories MPlib and MPinputs. Prepare a directory from +where you want to run mp with the shell script mk_MP_dir. +(Additionally to mk_TeX_dir) + +Building and installing: +----------------------- +Move a.out into your binary directory under the name at the +right end of --->. + +1. mp.web, mp.ch ---> inimp +Change mp.ch for initialization (see building inimf, initex) and tgl. +Move mp.pool to MPlib. + +2. plain.mp ---> MPlib/plain.mem + inimp plain.mp dump +mv plain.mem to MPlib + +3. mp.web, mp.ch ---> mp +Change mp.ch for production (see building inimf, initex) and tgl. + +4. dvitomp.web, dvitomp.ch ---> dvitomp +Just tgl and move a.out as dvitomp to your binary directory + +5. mptotex.c ---> mptotex +cc mptotex.c, ignore the warning and move a.out to .... + +6. mpx ---> mpx (just move the shell script to your binary dir) + +Using MetaPost: +-------------- +To include a MetaPost picture xxx.mp in your output, \input +the TeX macro epsf.tex. At the place where you want to include your +picture, write + \epsfbox{xxx.n} +where xxx is the name of the picture and n is the argument given +in the beginfig() command. + +Here are those files: +fig.mp + +beginfig(1); +a=.7in; b=0.5in; +z0=(0,); z1=(a,0); z2=(0,b); +z0=.5[z1,z3]=.5[z2,z4]; +draw z1..z2..z3..z4..cycle; +drawarrow z0..z1; +drawarrow z0..z2; +label.top(btex $a$ etex, .5[z0, z1]); +label.lft(btex $b$ etex, .5[z0, z2]); +endfig; +end + +fig.mp contains two Tex programs, $a$ and $b$. So you need to call mpx instead +of mp. This creates fig.mpx: + +% Written by DVItoMP-GPC +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)= + addto _p also _t infont _f scaled _m shifted (_x,_y); enddef; +_n0="cmmi10"; +_s("a",_n0,1.00000,0.0000,0.0000); +setbounds _p to (0,0.0000)--(5.2661,0.0000)-- + (5.2661,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)= + addto _p also _t infont _f scaled _m shifted (_x,_y); enddef; +_n0="cmmi10"; +_s("b",_n0,1.00000,0.0000,0.0000); +setbounds _p to (0,0.0000)--(4.2756,0.0000)-- + (4.2756,6.9185)--(0,6.9185)--cycle; +_p endgroup +mpxbreak + +From fig.mp and fig.mpx METAPOST creates fig.1 + +%!PS +%%BoundingBox: -51 -37 51 37 +%%Creator: MetaPost +%%CreationDate: 2008.08.25:1829 +%%Pages: 1 +%*Font: cmmi10 9.96265 9.96265 61:c +%%EndProlog +%%Page: 1 1 + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath 50.39978 0 moveto +50.39978 23.04858 25.56044 36 0 36 curveto +-25.56044 36 -50.39978 23.04858 -50.39978 0 curveto +-50.39978 -23.04858 -25.56044 -36 0 -36 curveto +25.56044 -36 50.39978 -23.04858 50.39978 0 curveto closepath stroke + 1 setlinecap +newpath 0 0 moveto +50.39978 0 lineto stroke +newpath 46.70451 -1.53067 moveto +50.39978 0 lineto +46.70451 1.53067 lineto + closepath +gsave fill grestore stroke + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 0 0 moveto +0 36 lineto stroke + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 1.5308 32.3044 moveto +0 36 lineto +-1.5308 32.3044 lineto + closepath +gsave fill grestore stroke +22.56683 3 moveto +(a) cmmi10 9.96265 fshow +-7.2756 14.54074 moveto +(b) cmmi10 9.96265 fshow +showpage +%%EOF + +Finally, include the figure in your TeX document by +\input epsf +\epsfbox{fig.1} |