* * $Id: iptmac.F,v 1.1.1.1 1996/02/14 13:11:07 mclareni Exp $ * * $Log: iptmac.F,v $ * Revision 1.1.1.1 1996/02/14 13:11:07 mclareni * Higz * * #include "higz/pilot.h" *CMZ : 1.13/02 23/09/91 14.04.17 by O.Couet *-- Author : SUBROUTINE IPTMAC *.===========> *. *. Write the LaTeX macro definitions to the metafile: *. \h; horizontal line left *. \r; horizontal line right *. \U; vertical line up *. \D; vertical line down *. \s,; slanted line *. \m,; move *. \p,; plot *. \f,; filled box *. *..==========> (A.Nathaniel) *.______________________________________ * #include "higz/hiatt.inc" #include "higz/hipost.inc" CHARACTER CHDATE*20 #include "higz/hivers.inc" * convert centimeter to minimal resolution 0.1mm IPTCM(CM)=INT(CM*100) CALL IGDATE(CHDATE) CALL IPPSTR('% HIGZ version'//CHVERS// + ' LaTeX metafile created '//CHDATE(:LENOCC(CHDATE))//'@') *------------------------------------------------------------------* * Don't change the following compressed macro definitions by hand. * * Instead change the expanded form in deck MACROTEX and insert the * * Fortran code generated by the awk script in deck MACROAWK: * * awk -f macro.awk macro.tex * *------------------------------------------------------------------* CALL IPPSTR(BSLASH//'ifx'//BSLASH//'higzunit') CALL IPPSTR(BSLASH//'undefined'//BSLASH//'unitlength=0pt{}') CALL IPPSTR(BSLASH//'else'//BSLASH//'unitlength=') CALL IPPSTR(BSLASH//'higzunit'//BSLASH//'fi') CALL IPPSTR(BSLASH//'ifdim'//BSLASH//'unitlength=0pt') CALL IPPSTR(BSLASH//'unitlength='//BSLASH//'textwidth') CALL IPPSTR(BSLASH//'divide'//BSLASH//'unitlength') CALL IPIOUT(IPTCM(X2W-X1W)) CALL IPPSTR(BSLASH//'fi'//BSLASH//'par'//BSLASH//'noindent') CALL IPPSTR(BSLASH//'begin{picture}') CALL IPJOUT(IPTCM(X2W-X1W),IPTCM(Y2W-Y1W)) CALL IPJOUT(IPTCM(X1W),IPTCM(Y1W)) CALL IPPSTR(BSLASH//'ifx'//BSLASH//'higzdraft') CALL IPPSTR(BSLASH//'undefined'//BSLASH//'newcount') CALL IPPSTR(BSLASH//'higzdraft'//BSLASH//'higzdraft=0{}') CALL IPPSTR(BSLASH//'fi'//BSLASH//'ifnum'//BSLASH//'higzdraft>0') CALL IPPSTR(BSLASH//'put(0,0){'//BSLASH//'framebox') CALL IPJOUT(IPTCM(X2W-X1W),IPTCM(Y2W-Y1W)) CALL IPPSTR('{}}'//BSLASH//'else'//BSLASH//'ifx') CALL IPPSTR(BSLASH//'higzstep'//BSLASH//'undefined') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzstep') CALL IPPSTR(BSLASH//'higzstep=0{}'//BSLASH//'fi'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzstep<1'//BSLASH//'higzstep=2') CALL IPPSTR(BSLASH//'fi'//BSLASH//'ifx'//BSLASH//'higzxx') CALL IPPSTR(BSLASH//'undefined'//BSLASH//'newcount') CALL IPPSTR(BSLASH//'higzxx'//BSLASH//'newcount') CALL IPPSTR(BSLASH//'higzyy'//BSLASH//'newcount'//BSLASH//'higzx') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzy') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzdx') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzdy') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzlx') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzly') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzslope') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzlen') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzllen') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzoffs') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzloffs') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzadash') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzbdash') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzcdash') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzddash') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higzmsize') CALL IPPSTR(BSLASH//'newcount'//BSLASH//'higztemp'//BSLASH//'fi') CALL IPPSTR(BSLASH//'def'//BSLASH//'higzstroke#1,#2,#3,#4;{') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzloffs') CALL IPPSTR(BSLASH//'higzllen'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzloffs>#1'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzloffs-'//BSLASH//'higzllen') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzloffs-#1') CALL IPPSTR(BSLASH//'higzloffs=-'//BSLASH//'higzloffs') CALL IPPSTR(BSLASH//'ifnum#2>0'//BSLASH//'put(') CALL IPPSTR(BSLASH//'higzlx,'//BSLASH//'higzly){') CALL IPPSTR(BSLASH//'line(#3,#4){'//BSLASH//'higzloffs}}') CALL IPPSTR(BSLASH//'fi'//BSLASH//'ifnum#2<0'//BSLASH//'put(') CALL IPPSTR(BSLASH//'higzlx,'//BSLASH//'higzly){') CALL IPPSTR(BSLASH//'circle*{0}}'//BSLASH//'fi') CALL IPPSTR(BSLASH//'higztemp='//BSLASH//'higzloffs') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higztemp#3') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzlx') CALL IPPSTR(BSLASH//'higztemp'//BSLASH//'higztemp=') CALL IPPSTR(BSLASH//'higzloffs'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higztemp#4'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzly'//BSLASH//'higztemp') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzllen-') CALL IPPSTR(BSLASH//'higzloffs'//BSLASH//'higzloffs=#1') CALL IPPSTR(BSLASH//'else'//BSLASH//'ifnum#2>0'//BSLASH//'put(') CALL IPPSTR(BSLASH//'higzlx,'//BSLASH//'higzly){') CALL IPPSTR(BSLASH//'line(#3,#4){'//BSLASH//'higzllen}}') CALL IPPSTR(BSLASH//'fi'//BSLASH//'ifnum#2<0'//BSLASH//'put(') CALL IPPSTR(BSLASH//'higzlx,'//BSLASH//'higzly){') CALL IPPSTR(BSLASH//'circle*{0}}'//BSLASH//'fi') CALL IPPSTR(BSLASH//'higzllen=0'//BSLASH//'fi}'//BSLASH//'def') CALL IPPSTR(BSLASH//'higzdashed#1,#2,#3,#4,#5;{{') CALL IPPSTR(BSLASH//'higzlx=#1'//BSLASH//'higzly=#2') CALL IPPSTR(BSLASH//'higzllen=#5'//BSLASH//'higzloffs=') CALL IPPSTR(BSLASH//'higzoffs'//BSLASH//'loop'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzloffs<'//BSLASH//'higzadash') CALL IPPSTR(BSLASH//'ifnum'//BSLASH//'higzadash>1') CALL IPPSTR(BSLASH//'higzstroke'//BSLASH//'higzadash,1,#3,#4;') CALL IPPSTR(BSLASH//'else'//BSLASH//'higzstroke') CALL IPPSTR(BSLASH//'higzadash,-1,#3,#4;'//BSLASH//'fi') CALL IPPSTR(BSLASH//'else'//BSLASH//'ifnum'//BSLASH//'higzloffs<') CALL IPPSTR(BSLASH//'higzbdash'//BSLASH//'higzstroke') CALL IPPSTR(BSLASH//'higzbdash,0,#3,#4;'//BSLASH//'else') CALL IPPSTR(BSLASH//'ifnum'//BSLASH//'higzloffs<') CALL IPPSTR(BSLASH//'higzcdash'//BSLASH//'higztemp=') CALL IPPSTR(BSLASH//'higzcdash'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higztemp-'//BSLASH//'higzbdash') CALL IPPSTR(BSLASH//'ifnum'//BSLASH//'higztemp>1') CALL IPPSTR(BSLASH//'higzstroke'//BSLASH//'higzcdash,1,#3,#4;') CALL IPPSTR(BSLASH//'else'//BSLASH//'higzstroke') CALL IPPSTR(BSLASH//'higzcdash,-1,#3,#4;'//BSLASH//'fi') CALL IPPSTR(BSLASH//'else'//BSLASH//'ifnum'//BSLASH//'higzloffs<') CALL IPPSTR(BSLASH//'higzddash'//BSLASH//'higzstroke') CALL IPPSTR(BSLASH//'higzddash,0,#3,#4;'//BSLASH//'else') CALL IPPSTR(BSLASH//'higzloffs=0'//BSLASH//'fi'//BSLASH//'fi') CALL IPPSTR(BSLASH//'fi'//BSLASH//'fi'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzllen>0'//BSLASH//'repeat') CALL IPPSTR(BSLASH//'global'//BSLASH//'higzoffs=') CALL IPPSTR(BSLASH//'higzloffs}}'//BSLASH//'def') CALL IPPSTR(BSLASH//'higzsolid#1,#2,#3,#4,#5;{') CALL IPPSTR(BSLASH//'put(#1,#2){'//BSLASH//'line(#3,#4){#5}}}') CALL IPPSTR(BSLASH//'def'//BSLASH//'higzhslant#1,#2,#3;{') CALL IPPSTR(BSLASH//'higzslope=#1'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzslope1000'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzslope500'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzslope#2'//BSLASH//'higzlen=') CALL IPPSTR(BSLASH//'higzslope'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzlen'//BSLASH//'higzstep') CALL IPPSTR(BSLASH//'divide'//BSLASH//'higzlen1000') CALL IPPSTR(BSLASH//'higzdy=0'//BSLASH//'loop'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzdy<#2'//BSLASH//'higzx=') CALL IPPSTR(BSLASH//'higzxx'//BSLASH//'higzy='//BSLASH//'higzyy') CALL IPPSTR(BSLASH//'higzdx='//BSLASH//'higzslope') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higzdx') CALL IPPSTR(BSLASH//'higzdy'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzdx500'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzdx1000'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzy'//BSLASH//'higzdy'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzdx#3'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzx'//BSLASH//'higzdx'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzdx#3'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzdx'//BSLASH//'higzlen'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzdx>#1'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzlen#1'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzlen-'//BSLASH//'higzdx'//BSLASH//'fi') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzx,') CALL IPPSTR(BSLASH//'higzy,#3,0,'//BSLASH//'higzlen;') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzdy') CALL IPPSTR(BSLASH//'higzstep'//BSLASH//'repeat}'//BSLASH//'def') CALL IPPSTR(BSLASH//'higzvslant#1,#2,#3;{') CALL IPPSTR(BSLASH//'higzslope=#2'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzslope1000'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzslope500'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzslope#1'//BSLASH//'higzlen=') CALL IPPSTR(BSLASH//'higzslope'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzlen'//BSLASH//'higzstep') CALL IPPSTR(BSLASH//'divide'//BSLASH//'higzlen1000') CALL IPPSTR(BSLASH//'higzdx=0'//BSLASH//'loop'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzdx<#1'//BSLASH//'higzx=') CALL IPPSTR(BSLASH//'higzxx'//BSLASH//'higzy='//BSLASH//'higzyy') CALL IPPSTR(BSLASH//'higzdy='//BSLASH//'higzslope') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higzdy') CALL IPPSTR(BSLASH//'higzdx'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzdy500'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzdy1000'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzx'//BSLASH//'higzdx'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzdy#3'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzy'//BSLASH//'higzdy'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzdy#3'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzdy'//BSLASH//'higzlen'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzdy>#2'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzlen#2'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzlen-'//BSLASH//'higzdy'//BSLASH//'fi') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzx,') CALL IPPSTR(BSLASH//'higzy,0,#3,'//BSLASH//'higzlen;') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzdx') CALL IPPSTR(BSLASH//'higzstep'//BSLASH//'repeat}'//BSLASH//'def') CALL IPPSTR(BSLASH//'s#1,#2;{'//BSLASH//'higzdx=#1{}') CALL IPPSTR(BSLASH//'ifnum'//BSLASH//'higzdx<0') CALL IPPSTR(BSLASH//'higzdx=-'//BSLASH//'higzdx'//BSLASH//'fi') CALL IPPSTR(BSLASH//'higzdy=#2{}'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzdy<0'//BSLASH//'higzdy=-') CALL IPPSTR(BSLASH//'higzdy'//BSLASH//'fi'//BSLASH//'ifnum') CALL IPPSTR(BSLASH//'higzdx<'//BSLASH//'higzdy'//BSLASH//'ifnum') CALL IPPSTR('#1<0'//BSLASH//'advance'//BSLASH//'higzxx#1') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzyy#2') CALL IPPSTR(BSLASH//'ifnum#2<0'//BSLASH//'higzvslant-#1,-#2,1;') CALL IPPSTR(BSLASH//'else'//BSLASH//'higzvslant-#1,#2,-1;') CALL IPPSTR(BSLASH//'fi'//BSLASH//'else'//BSLASH//'ifnum#2<0') CALL IPPSTR(BSLASH//'higzvslant#1,-#2,-1;'//BSLASH//'else') CALL IPPSTR(BSLASH//'higzvslant#1,#2,1;'//BSLASH//'fi') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzxx#1') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzyy#2'//BSLASH//'fi') CALL IPPSTR(BSLASH//'else'//BSLASH//'ifnum#2<0') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzxx#1') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzyy#2') CALL IPPSTR(BSLASH//'ifnum#1<0'//BSLASH//'higzhslant-#1,-#2,1;') CALL IPPSTR(BSLASH//'else'//BSLASH//'higzhslant#1,-#2,-1;') CALL IPPSTR(BSLASH//'fi'//BSLASH//'else'//BSLASH//'ifnum#1<0') CALL IPPSTR(BSLASH//'higzhslant-#1,#2,-1;'//BSLASH//'else') CALL IPPSTR(BSLASH//'higzhslant#1,#2,1;'//BSLASH//'fi') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzxx#1') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzyy#2'//BSLASH//'fi') CALL IPPSTR(BSLASH//'fi}'//BSLASH//'def'//BSLASH//'h#1;{') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzxx,') CALL IPPSTR(BSLASH//'higzyy,1,0,#1;'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzxx#1}'//BSLASH//'def'//BSLASH//'r#1;{') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzxx,') CALL IPPSTR(BSLASH//'higzyy,-1,0,#1;'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzxx-#1}'//BSLASH//'def'//BSLASH//'U#1;{') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzxx,') CALL IPPSTR(BSLASH//'higzyy,0,1,#1;'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzyy#1}'//BSLASH//'def'//BSLASH//'D#1;{') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzxx,') CALL IPPSTR(BSLASH//'higzyy,0,-1,#1;'//BSLASH//'advance') CALL IPPSTR(BSLASH//'higzyy-#1}'//BSLASH//'def') CALL IPPSTR(BSLASH//'m#1,#2;{'//BSLASH//'higzxx=#1') CALL IPPSTR(BSLASH//'higzyy=#2}'//BSLASH//'def') CALL IPPSTR(BSLASH//'higzdot#1,#2;{'//BSLASH//'put(#1,#2){') CALL IPPSTR(BSLASH//'circle*{'//BSLASH//'higzmsize}}}') CALL IPPSTR(BSLASH//'def'//BSLASH//'higzplus#1,#2;{') CALL IPPSTR(BSLASH//'higzx=#1'//BSLASH//'multiply') CALL IPPSTR(BSLASH//'higzx2'//BSLASH//'advance'//BSLASH//'higzx-') CALL IPPSTR(BSLASH//'higzmsize'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzx2'//BSLASH//'put(') CALL IPPSTR(BSLASH//'higzx,#2){'//BSLASH//'line(1,0){') CALL IPPSTR(BSLASH//'higzmsize}}'//BSLASH//'higzy=#2') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higzy2') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzy-') CALL IPPSTR(BSLASH//'higzmsize'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzy2'//BSLASH//'put(#1,') CALL IPPSTR(BSLASH//'higzy){'//BSLASH//'line(0,1){') CALL IPPSTR(BSLASH//'higzmsize}}}'//BSLASH//'def') CALL IPPSTR(BSLASH//'higzstar#1,#2;{'//BSLASH//'higzplus#1,#2;') CALL IPPSTR(BSLASH//'higzcross#1,#2;}'//BSLASH//'def') CALL IPPSTR(BSLASH//'higzcircle#1,#2;{'//BSLASH//'put(#1,#2){') CALL IPPSTR(BSLASH//'circle{'//BSLASH//'higzmsize}}}') CALL IPPSTR(BSLASH//'def'//BSLASH//'higzcross#1,#2;{') CALL IPPSTR(BSLASH//'let'//BSLASH//'higzsave'//BSLASH//'higzline') CALL IPPSTR(BSLASH//'let'//BSLASH//'higzline') CALL IPPSTR(BSLASH//'higzsolid'//BSLASH//'higzlx=#1') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higzlx2') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzlx-') CALL IPPSTR(BSLASH//'higzmsize'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzlx2'//BSLASH//'higzly=#2') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higzly2') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzly-') CALL IPPSTR(BSLASH//'higzmsize'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzly2'//BSLASH//'m'//BSLASH//'higzlx,') CALL IPPSTR(BSLASH//'higzly;'//BSLASH//'s'//BSLASH//'higzmsize,') CALL IPPSTR(BSLASH//'higzmsize;'//BSLASH//'higzly=#2') CALL IPPSTR(BSLASH//'multiply'//BSLASH//'higzly2') CALL IPPSTR(BSLASH//'advance'//BSLASH//'higzly') CALL IPPSTR(BSLASH//'higzmsize'//BSLASH//'divide') CALL IPPSTR(BSLASH//'higzly2'//BSLASH//'m'//BSLASH//'higzlx,') CALL IPPSTR(BSLASH//'higzly;'//BSLASH//'s'//BSLASH//'higzmsize,-') CALL IPPSTR(BSLASH//'higzmsize;'//BSLASH//'let') CALL IPPSTR(BSLASH//'higzline'//BSLASH//'higzsave}') CALL IPPSTR(BSLASH//'def'//BSLASH//'p#1,#2;{') CALL IPPSTR(BSLASH//'higzmarker#1,#2;}'//BSLASH//'def') CALL IPPSTR(BSLASH//'f#1,#2;{'//BSLASH//'put('//BSLASH//'higzxx,') CALL IPPSTR(BSLASH//'higzyy){'//BSLASH//'makebox(#1,#2)[lb]{') CALL IPPSTR(BSLASH//'rule{#1'//BSLASH//'unitlength') CALL IPPSTR('}{#2'//BSLASH//'unitlength}}}}') *------------------------------------------------------------------* CALL IPPSTR('% End of Initialisation@') CALL IPLTYP(0) CALL IPLTYP(ILN) END