home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fonts 1
/
freshfonts1.bin
/
bbs
/
programs
/
amiga
/
mma2latex.lha
/
MMA2LTX
/
TEXMMA22.PRO
< prev
Wrap
Text File
|
1994-07-04
|
12KB
|
174 lines
%!
/Mathdict 150 dict def Mathdict begin /Mlmarg 0 def /Mrmarg 0 def
/Mbmarg 0 def /Mtmarg 0 def /Mtransform{}bind def /Mfixwid true def
/Mfixdash false def /Mrot 0 def /Mpstart{MathPictureStart}bind def
/Mpend{MathPictureEnd}bind def /Mscale{0 1 0 1 5 -1 roll MathScale}bind
def /ISOLatin1Encoding dup where{pop pop}{[/.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quoteright /parenleft
/parenright /asterisk /plus /comma /minus /period /slash /zero /one /two
/three /four /five /six /seven /eight /nine /colon /semicolon /less
/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g
/h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex
/tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla
/.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling
/currency /yen /brokenbar /section /dieresis /copyright /ordfeminine
/guillemotleft /logicalnot /hyphen /registered /macron /degree
/plusminus /twosuperior /threesuperior /acute /mu /paragraph
/periodcentered /cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute
/Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute
/Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth
/Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn
/germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae
/ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute
/icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex
/otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis]def}ifelse /MFontDict 50 dict def
/MStrCat{exch dup length 2 index length add string dup 3 1 roll copy
length exch dup 4 2 roll exch putinterval}def /MCreateEncoding{1 index
255 string cvs(-)MStrCat 1 index MStrCat cvn exch(Encoding)MStrCat cvn
dup where{exch get}{pop StandardEncoding}ifelse 3 1 roll dup MFontDict
exch known not{1 index findfont dup length dict begin{1 index /FID ne{
def}{pop pop}ifelse}forall /Encoding 3 index def currentdict end 1 index
exch definefont pop MFontDict 1 index null put}if exch pop exch pop}def
/ISOLatin1{(ISOLatin1)MCreateEncoding}def /ISO8859{(ISOLatin1)
MCreateEncoding}def /Mcopyfont{dup maxlength dict exch{1 index /FID eq{
pop pop}{2 index 3 1 roll put}ifelse}forall}def /Plain /Courier findfont
Mcopyfont definefont pop /Bold /Courier-Bold findfont Mcopyfont
definefont pop /Italic /Courier-Oblique findfont Mcopyfont definefont
pop /MathPictureStart{gsave Mtransform Mlmarg Mbmarg translate Mwidth
Mlmarg Mrmarg add sub /Mwidth exch def Mheight Mbmarg Mtmarg add sub
/Mheight exch def /Mtmatrix matrix currentmatrix def /Mgmatrix matrix
currentmatrix def}bind def /MathPictureEnd{grestore}bind def /MFill{0 0
moveto Mwidth 0 lineto Mwidth Mheight lineto 0 Mheight lineto fill}bind
def /MPlotRegion{3 index Mwidth mul 2 index Mheight mul translate exch
sub Mheight mul /Mheight exch def exch sub Mwidth mul /Mwidth exch def}
bind def /MathSubStart{Momatrix Mgmatrix Mtmatrix Mwidth Mheight 7 -2
roll moveto Mtmatrix setmatrix currentpoint Mgmatrix setmatrix 9 -2 roll
moveto Mtmatrix setmatrix currentpoint 2 copy translate /Mtmatrix matrix
currentmatrix def 3 -1 roll exch sub /Mheight exch def sub /Mwidth exch
def}bind def /MathSubEnd{/Mheight exch def /Mwidth exch def /Mtmatrix
exch def dup setmatrix /Mgmatrix exch def /Momatrix exch def}bind def
/Mdot{moveto 0 0 rlineto stroke}bind def /Mtetra{moveto lineto lineto
lineto fill}bind def /Metetra{moveto lineto lineto lineto closepath
gsave fill grestore 0 setgray stroke}bind def /Mistroke{flattenpath 0 0
0{4 2 roll pop pop}{4 -1 roll 2 index sub dup mul 4 -1 roll 2 index sub
dup mul add sqrt 4 -1 roll add 3 1 roll}{stop}{stop}pathforall pop pop
currentpoint stroke moveto currentdash 3 -1 roll add setdash}bind def
/Mfstroke{stroke currentdash pop 0 setdash}bind def /Mrotsboxa{gsave dup
/Mrot exch def Mrotcheck Mtmatrix dup setmatrix 7 1 roll 4 index 4 index
translate rotate 3 index -1 mul 3 index -1 mul translate /Mtmatrix
matrix currentmatrix def grestore Msboxa 3 -1 roll /Mtmatrix exch def
/Mrot 0 def}bind def /Msboxa{newpath 5 -1 roll Mvboxa pop Mboxout 6 -1
roll 5 -1 roll 4 -1 roll Msboxa1 5 -3 roll Msboxa1 Mboxrot[7 -2 roll 2
copy[3 1 roll 10 -1 roll 9 -1 roll]6 1 roll 5 -2 roll]}bind def /Msboxa1
{sub 2 div dup 2 index 1 add mul 3 -1 roll -1 add 3 -1 roll mul}bind def
/Mvboxa{Mfixwid{Mvboxa1}{dup Mwidthcal 0 exch{add}forall exch Mvboxa1 4
index 7 -1 roll add 4 -1 roll pop 3 1 roll}ifelse}bind def /Mvboxa1{
gsave newpath[true 3 -1 roll{Mbbox 5 -1 roll{0 5 1 roll}{7 -1 roll exch
sub(m)stringwidth pop .3 mul sub 7 1 roll 6 -1 roll 4 -1 roll Mmin 3 -1
roll 5 index add 5 -1 roll 4 -1 roll Mmax 4 -1 roll}ifelse false}forall{
stop}if counttomark 1 add 4 roll]grestore}bind def /Mbbox{1 dict begin 0
0 moveto /temp(T)def{gsave currentpoint newpath moveto temp 0 3 -1 roll
put temp false charpath flattenpath currentpoint pathbbox grestore
moveto lineto moveto}forall pathbbox newpath end}bind def /Mmin{2 copy
gt{exch}if pop}bind def /Mmax{2 copy lt{exch}if pop}bind def /Mrotshowa{
dup /Mrot exch def Mrotcheck Mtmatrix dup setmatrix 7 1 roll 4 index 4
index translate rotate 3 index -1 mul 3 index -1 mul translate /Mtmatrix
matrix currentmatrix def Mgmatrix setmatrix Mshowa /Mtmatrix exch def
/Mrot 0 def}bind def /Mshowa{4 -2 roll moveto 2 index Mtmatrix setmatrix
Mvboxa 7 1 roll Mboxout 6 -1 roll 5 -1 roll 4 -1 roll Mshowa1 4 1 roll
Mshowa1 rmoveto currentpoint Mfixwid{Mshowax}{Mshoway}ifelse pop pop pop
pop Mgmatrix setmatrix}bind def /Mshowax{0 1 4 index length -1 add{2
index 4 index 2 index get 3 index add moveto 4 index exch get Mfixdash{
Mfixdashp}if show}for}bind def /Mfixdashp{dup length 1 gt 1 index true
exch{45 eq and}forall and{gsave(--)stringwidth pop(-)stringwidth pop sub
2 div 0 rmoveto dup length 1 sub{(-)show}repeat grestore}if}bind def
/Mshoway{3 index Mwidthcal 5 1 roll 0 1 4 index length -1 add{2 index 4
index 2 index get 3 index add moveto 4 index exch get[6 index aload
length 2 add -1 roll{pop Strform stringwidth pop neg exch add 0 rmoveto}
exch kshow cleartomark}for pop}bind def /Mwidthcal{[exch{Mwidthcal1}
forall][exch dup Maxlen -1 add 0 1 3 -1 roll{[exch 2 index{1 index Mget
exch}forall pop Maxget exch}for pop]Mreva}bind def /Mreva{[exch aload
length -1 1{1 roll}for]}bind def /Mget{1 index length -1 add 1 index ge{
get}{pop pop 0}ifelse}bind def /Maxlen{[exch{length}forall Maxget}bind
def /Maxget{counttomark -1 add 1 1 3 -1 roll{pop Mmax}for exch pop}bind
def /Mwidthcal1{[exch{Strform stringwidth pop}forall]}bind def /Strform{
/tem(x)def tem 0 3 -1 roll put tem}bind def /Mshowa1{2 copy add 4 1 roll
sub mul sub -2 div}bind def /MathScale{Mwidth Mheight Mlp translate
scale /yscale exch def /ybias exch def /xscale exch def /xbias exch def
/Momatrix xscale yscale matrix scale xbias ybias matrix translate matrix
concatmatrix def /Mgmatrix matrix currentmatrix def}bind def /Mlp{3 copy
Mlpfirst{Mnodistort{Mmin dup}if 4 index 2 index 2 index Mlprun 11 index
11 -1 roll 10 -4 roll Mlp1 8 index 9 -5 roll Mlp1 4 -1 roll and{exit}if
3 -1 roll pop pop}loop exch 3 1 roll 7 -3 roll pop pop pop}bind def
/Mlpfirst{3 -1 roll dup length 2 copy -2 add get aload pop pop pop 4 -2
roll -1 add get aload pop pop pop 6 -1 roll 3 -1 roll 5 -1 roll sub div
4 1 roll exch sub div}bind def /Mlprun{2 copy 4 index 0 get dup 4 1 roll
Mlprun1 3 copy 8 -2 roll 9 -1 roll{3