summaryrefslogtreecommitdiff
path: root/graphics/mma2ltx/texmma22.pro
blob: 64dd3c2692185c9283cd2cfa98f90c01b3c108bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
%!
/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 copy Mlprun1 3 copy 11 -3 roll /gt
Mlpminmax 8 3 roll 11 -3 roll /lt Mlpminmax 8 3 roll}forall pop pop pop
pop 3 1 roll pop pop aload pop 5 -1 roll aload pop exch 6 -1 roll
Mlprun2 8 2 roll 4 -1 roll Mlprun2 6 2 roll 3 -1 roll Mlprun2 4 2 roll
exch Mlprun2 6 2 roll}bind def /Mlprun1{aload pop exch 6 -1 roll 5 -1
roll mul add 4 -2 roll mul 3 -1 roll add}bind def /Mlprun2{2 copy add 2
div 3 1 roll exch sub}bind def /Mlpminmax{cvx 2 index 6 index 2 index
exec{7 -3 roll 4 -1 roll}if 1 index 5 index 3 -1 roll exec{4 1 roll pop
5 -1 roll aload pop pop 4 -1 roll aload pop[8 -2 roll pop 5 -2 roll pop
6 -2 roll pop 5 -1 roll]4 1 roll pop}{pop pop pop}ifelse}bind def /Mlp1{
5 index 3 index sub 5 index 2 index mul 1 index le 1 index 0 le or dup
not{1 index 3 index div .99999 mul 8 -1 roll pop 7 1 roll}if 8 -1 roll 2
div 7 -2 roll pop sub 5 index 6 -3 roll pop pop mul sub exch}bind def
/intop 0 def /inrht 0 def /inflag 0 def /outflag 0 def /xadrht 0 def
/xadlft 0 def /yadtop 0 def /yadbot 0 def /Minner{outflag 1 eq{/outflag
0 def /intop 0 def /inrht 0 def}if 5 index gsave Mtmatrix setmatrix
Mvboxa pop grestore 3 -1 roll pop dup intop gt{/intop exch def}{pop}
ifelse dup inrht gt{/inrht exch def}{pop}ifelse pop /inflag 1 def}bind
def /Mouter{/xadrht 0 def /xadlft 0 def /yadtop 0 def /yadbot 0 def
inflag 1 eq{dup 0 lt{dup intop mul neg /yadtop exch def}if dup 0 gt{dup
intop mul /yadbot exch def}if pop dup 0 lt{dup inrht mul neg /xadrht
exch def}if dup 0 gt{dup inrht mul /xadlft exch def}if pop /outflag 1
def}{pop pop}ifelse /inflag 0 def /inrht 0 def /intop 0 def}bind def
/Mboxout{outflag 1 eq{4 -1 roll xadlft leadjust add sub 4 1 roll 3 -1
roll yadbot leadjust add sub 3 1 roll exch xadrht leadjust add add exch
yadtop leadjust add add /outflag 0 def /xadlft 0 def /yadbot 0 def
/xadrht 0 def /yadtop 0 def}if}bind def /leadjust{(m)stringwidth pop .5
mul}bind def /Mrotcheck{dup 90 eq{yadbot /yadbot xadrht def /xadrht
yadtop def /yadtop xadlft def /xadlft exch def}if dup cos 1 index sin
Checkaux dup cos 1 index sin neg exch Checkaux 3 1 roll pop pop}bind def
/Checkaux{4 index exch 4 index mul 3 1 roll mul add 4 1 roll}bind def
/Mboxrot{Mrot 90 eq{brotaux 4 2 roll}if Mrot 180 eq{4 2 roll brotaux 4 2
roll brotaux}if Mrot 270 eq{4 2 roll brotaux}if}bind def /brotaux{neg
exch neg}bind def /Mabsproc{0 matrix defaultmatrix dtransform
idtransform dup mul exch dup mul add sqrt}bind def /Mabswid{Mabsproc
setlinewidth}bind def /Mabsdash{exch[exch{Mabsproc}forall]exch setdash}
bind def /MBeginOrig{Momatrix concat}bind def /MEndOrig{Mgmatrix
setmatrix}bind def /sampledsound where{pop}{/sampledsound{exch pop exch
5 1 roll mul 4 idiv mul 2 idiv exch pop exch /Mtempproc exch def{
Mtempproc pop}repeat}bind def}ifelse /g{setgray}bind def /k{
setcmykcolor}bind def /m{moveto}bind def /p{gsave}bind def /r{
setrgbcolor}bind def /w{setlinewidth}bind def /C{curveto}bind def /F{
fill}bind def /L{lineto}bind def /P{grestore}bind def /s{stroke}bind def
/setcmykcolor where{pop}{/setcmykcolor{4 1 roll[4 1 roll]{1 index sub 1
sub neg dup 0 lt{pop 0}if dup 1 gt{pop 1}if exch}forall pop setrgbcolor}
bind def}ifelse /Mcharproc{currentfile(x)readhexstring pop 0 get exch
div}bind def /Mshadeproc{dup 3 1 roll{dup Mcharproc 3 1 roll}repeat 1 eq
{setgray}{3 eq{setrgbcolor}{setcmykcolor}ifelse}ifelse}bind def
/Mrectproc{3 index 2 index moveto 2 index 3 -1 roll lineto dup 3 1 roll
lineto lineto fill}bind def /Mcolorimage{7 1 roll pop pop matrix
invertmatrix concat 2 exch exp 1 sub 3 1 roll 1 1 2 index{1 1 4 index{
dup 1 sub exch 2 index dup 1 sub exch 7 index 9 index Mshadeproc
Mrectproc}for pop}for pop pop pop pop}bind def /Mimage{pop matrix
invertmatrix concat 2 exch exp 1 sub 3 1 roll 1 1 2 index{1 1 4 index{
dup 1 sub exch 2 index dup 1 sub exch 7 index Mcharproc setgray
Mrectproc}for pop}for pop pop pop}bind def end