Re: postscript problems
- To: mathgroup at smc.vnet.net
- Subject: [mg8317] Re: postscript problems
- From: "P.J. Hinton" <paulh>
- Date: Sun, 24 Aug 1997 13:24:33 -0400
- Organization: Wolfram Research, Inc.
- Sender: owner-wri-mathgroup at wolfram.com
--------------42165D5C40C840163513FFC j preen wrote: > hi, > thanks for the swift reply, here it is: > hope this is ok for you, I think the problem you are encountering has to do with a problem that existed in the initial release of the Mathematica 3.0 front end. The PostScript export algorithm creates an invalid bounding box, making the graphic invisible when rendered by a PostScript interpreter. This problem exists for the front end menu command Edit -> Save Selection As -> EPS but not with the kernel command Display["filename.eps", graphic, "EPS"] I fixed a line of code that now makes the PostScript file visible in a previewer, and I have attached it to this message. There is a very simple fix for this problem, and it is detailed on the Wolfram Research Technical Support webpages. You can find it in the FAQ section. I have included a plain text copy of the fix for you. The following information is also available from the Technical Support section of our website at the following URL: http://www.wolfram.com/support/Graphics/Formats/EPS/FrontEndFix.html When the intial release of the Mathematica 3.0 notebook front end saves a graphic as an Encapsulated PostScript file, the EPS code contains an incorrect bounding box. As a result, the graphic does not appear when loaded into a PostScript viewer program or when sent to a printer. Our developers are aware of this problem and it will be fixed in a future release. You can fix the problem by replacing the Mathematica text resource file PostScriptHeader.tr with a corrected version available from our website. ftp://mathsource.wolfram.com/pub/outgoing/Support/PostScriptHeader.tr Simply copy this file into the Mathematica directory SystemFiles|FrontEnd|TextResources replacing the old version of this file. The next time the notebook front end is started, it will be capable of creating portable EPS files. The advantage of generating EPS files using this method is that font families other than Courier and the Mathematica-specific Math fonts will be included in the exported graphic. Note that the application used to render the EPS or the printer used to print the EPS will need to have the Mathematica fonts available if you make use of any these font characters. Otherwise, you may get unusual font substitutions. For making the Mathematica fonts available to Ghostscript and Ghostscript-based applications, see the Why don't special characters appear properly when I view an exported EPS file in Ghostview (Unix) or GSView32 (Windows)? The PostScript preview programs Ghostview and GSView32 both use the Ghostscript engine to interpret the PostScript code. In order for fonts to be rendered properly, Ghostscript must make use of font files which are supplied with the software distribution. For most situations, this set of fonts will be all you ever need to view a document. Mathematica 3.0 ships with a collection of specialized fonts which are used to generate grouping symbols, Mathematics symbols, Greek letters, and other special characters. Ghostscript, by default, is unaware of these fonts, so it reverts to substituting characters from the Courier font set. The end result is that special characters do not appear properly. The fix for this problem is to edit the configuration file which associates PostScript font names with font files so that they include the Mathematica specific fonts. Mathematica 3.0 ships with Type1 fonts, which are fully usable by Ghostscript. The configuration file is called Fontmap, and it resides in the top level Ghostscript directory. Under Unix, this is probably something like /usr/lib/ghostscript. Under Windows, the directory is gstools\gsX, where X is the version of Ghostscript installed on the machine. The implementation under Unix requires two steps. 1) Within the Mathematica directory SystemFiles/Fonts/Type1, create soft symbolic links having MS-DOS 8+3-compliant filenames. A suggested naming convention is given here: math1___.pfa -> Math1.pfa math2___.pfa -> Math2.pfa math3___.pfa -> Math3.pfa math4___.pfa -> Math4.pfa math5___.pfa -> Math5.pfa math1b__.pfa -> Math1Bold.pfa math2b__.pfa -> Math2Bold.pfa math3b__.pfa -> Math3Bold.pfa math4b__.pfa -> Math4Bold.pfa math5b__.pfa -> Math5Bold.pfa math1m__.pfa -> Math1Mono.pfa math2m__.pfa -> Math2Mono.pfa math3m__.pfa -> Math3Mono.pfa math4m__.pfa -> Math4Mono.pfa math5m__.pfa -> Math5Mono.pfa math1mb_.pfa -> Math1Mono-Bold.pfa math2mb_.pfa -> Math2Mono-Bold.pfa math3mb_.pfa -> Math3Mono-Bold.pfa math4mb_.pfa -> Math4Mono-Bold.pfa math5mb_.pfa -> Math5Mono-Bold.pfa sws721b_.pfa -> Swiss721BT-Bold.pfa sws721bi.pfa -> Swiss721BT-BoldItalic.pfa sws721i_.pfa -> Swiss721BT-Italic.pfa sws721r_.pfa -> Swiss721BT-Roman.pfa 2) Add font association entries in the Fontmap file. A template that uses the naming convention in (1) along with the default installation directory is given here % GhostScript Fontmap add-on for Unix platform % % Created by P.J. Hinton, Wolfram Research Technical Support % % This file is freely distributable without warranty. % % This file can be appended to the Ghostscript Fontmap file, which % resides in the top level Ghostscript (not Ghostview) directory. It % tells Ghostscript where to find the Type 1 fonts that are installed % by Mathematica 3.0 This will allow typeset characters in your % graphics to appear correctly when rendered in Ghostview and when % you convert Mathematica 3.0 generated PostScript files to a % non-PostScript printer format. % % This file is written with the assumption that Mathematica 3.0 % is installed to % % /usr/local/mathematica/ % % If a different setup exists on your system, you will need to % update the contents below accordingly. Note that MS-DOS=compliant % 8+3 filenames are used here because the comments in the Fontmap % file suggest that this is mandatory. % % Greek characters % /Math1 (/usr/local/mathematica/SystemFiles/Fonts/Type1/math1___.pfa); /Math1-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math1b__.pfa); /Math1Mono (/usr/local/mathematica/SystemFiles/Fonts/Type1/math1m__.pfa); /Math1Mono-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math1mb_.pfa); % % Stretchable grouping symbols % /Math2 (/usr/local/mathematica/SystemFiles/Fonts/Type1/math2___.pfa); /Math2-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math2b__.pfa); /Math2Mono (/usr/local/mathematica/SystemFiles/Fonts/Type1/math2m__.pfa); /Math2Mono-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math2mb_.pfa); % % Mathematical relational symbols % /Math3 (/usr/local/mathematica/SystemFiles/Fonts/Type1/math3___.pfa); /Math3-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math3b__.pfa); /Math3Mono (/usr/local/mathematica/SystemFiles/Fonts/Type1/math3m__.pfa); /Math3Mono-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math3mb_.pfa); % % Arrow Symbols % /Math4 (/usr/local/mathematica/SystemFiles/Fonts/Type1/math4___.pfa); /Math4-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math4b__.pfa); /Math4Mono (/usr/local/mathematica/SystemFiles/Fonts/Type1/math4m__.pfa); /Math4Mono-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math4mb_.pfa); % % Script letters % /Math5 (/usr/local/mathematica/SystemFiles/Fonts/Type1/math5___.pfa); /Math5-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math5b__.pfa); /Math5Mono (/usr/local/mathematica/SystemFiles/Fonts/Type1/math5b__.pfa); /Math5Mono-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/math5mb_.pfa); % % Bitstream Swiss 721 -- lookalike fonts for Helvetica % /Swiss721BT-Bold (/usr/local/mathematica/SystemFiles/Fonts/Type1/sws721b_.pfa); /Swiss721BT-BoldItalic (/usr/local/mathematica/SystemFiles/Fonts/Type1/sws721bi.pfa); /Swiss721BT-Italic (/usr/local/mathematica/SystemFiles/Fonts/Type1/sws721i_.pfa); /Swiss721BT-Roman (/usr/local/mathematica/SystemFiles/Fonts/Type1/sws721r_.pfa); The implementation under Windows has only one step -- add font association entries in the Fontmap file in the top level Ghostscript directory. A templaate that uses the default installation directory for Mathematica under Windows is given in the third attachment (convert this into a download link). % GhostScript Fontmap add-on for Windows platform % % Created by P.J. Hinton, Wolfram Research Technical Support % % This file is freely distributable without warranty. % % This file can be appended to the GhostScript Fontmap file, which % resides in the top level GhostScript (not GSView) directory. It % tells GhostScript where to find the Type 1 fonts that are installed % by Mathematica 3.0 This will allow typeset characters in your % graphics to appear correctly when rendered in GSView32 and when % you convert Mathematica 3.0 generated PostScript files to a % non-PostScript printer format. % % This file is written with the assumption that Mathematica 3.0 % is installed to % % C:\Program Files\Wolfram Research\Mathematica\3.0\ % % If a different setup exists on your system, you will need to % update the contents below accordingly. Note that MS-DOS=compliant % 8+3 filenames are used here because the comments in the Fontmap % file suggest that this is mandatory. % % Greek characters % /Math1 (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math1.pfa) ; /Math1-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math1-~1.pfa) ; /Math1Mono (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math1m~2.pfa) ; /Math1Mono-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math1m~1.pfa) ; % % Stretchable grouping symbols % /Math2 (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math2.pfa) ; /Math2-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math2-~1.pfa) ; /Math2Mono (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math2m~2.pfa) ; /Math2Mono-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math2m~1.pfa) ; % % Mathematical relational symbols % /Math3 (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math3.pfa) ; /Math3-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math3-~1.pfa) ; /Math3Mono (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math3m~2.pfa) ; /Math3Mono-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math3m~1.pfa) ; % % Arrow Symbols % /Math4 (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math4.pfa) ; /Math4-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math4-~1.pfa) ; /Math4Mono (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math4m~2.pfa) ; /Math4Mono-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math4m~1.pfa) ; % % Script letters % /Math5 (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math5.pfa) ; /Math5-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math5-~1.pfa) ; /Math5Mono (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math5m~2.pfa) ; /Math5Mono-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/math5m~1.pfa) ; % % Bitstream Swiss 721 -- lookalike fonts for Helvetica % /Swiss721BT-Bold (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/swiss7~1.pfa) ; /Swiss721BT-BoldItalic (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/swiss7~2.pfa) ; /Swiss721BT-Italic (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/swiss7~3.pfa) ; /Swiss721BT-Roman (c:/progra~1/wolfra~1/mathem~1/3.0/system~1/fonts/type1/swiss7~4.pfa) ; For printing to PostScript printers, you may need to perform additional measures to make the fonts available. This is a platform-dependent issue, and you can find some help at URL: http://www.wolfram.com/support/FrontEnds/Printing/FontsInGraph.html -- P.J. Hinton Mathematica Programming Group paulh at wolfram.com Wolfram Research, Inc. http://www.wolfram.com/~paulh/ --------------42165D5C40C840163513FFC %!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: 0 0 288 177 %%HiResBoundingBox: 0 0 288 177.938 %%Creator: (Mathematica Macintosh 3.0) %%Title: Clipboard %%CreationDate: (Tuesday, July 29, 1997) (15:35:14) %%DocumentNeededResources: (atend) %%DocumentFonts: (atend) %%DocumentNeededFonts: (atend) %%EndComments %%%%This draws a filled polygon and avoids bugs/features %%%% of some postscript interpreters %%%%GHOSTSCRIPT: has a bug in reversepath - removing %%%%the call to reversepath is a sufficient work around /P {gsave fill grestore reversepath stroke} def gsave 150 dict begin /Mfixwid true def /Mrot 0 def /Mpstart { MathPictureStart } bind def /Mpend { MathPictureEnd } bind def /Mscale { 0 1 0 1 5 -1 roll MathScale } bind def /Plain /Courier findfont def /Bold /Courier-Bold findfont def /Italic /Courier-Oblique findfont def /MathPictureStart { /Mimatrix matrix currentmatrix def gsave newpath Mleft Mbottom translate /Mtmatrix matrix currentmatrix def Plain Mfontsize scalefont setfont 0 setgray 0 setlinewidth } bind def /MathPictureEnd { grestore } bind def /MathSubStart { Momatrix Mgmatrix Mtmatrix Mleft Mbottom Mwidth Mheight 9 -2 roll moveto Mtmatrix setmatrix currentpoint Mgmatrix setmatrix 11 -2 roll moveto Mtmatrix setmatrix currentpoint 2 copy translate /Mtmatrix matrix currentmatrix def /Mleft 0 def /Mbottom 0 def 3 -1 roll exch sub /Mheight exch def sub /Mwidth exch def } bind def /MathSubEnd { /Mheight exch def /Mwidth exch def /Mbottom exch def /Mleft 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 { 0 0 moveto false charpath flattenpath pathbbox newpath } 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 show } for } 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 dup /MsaveAx exch def div 4 1 roll exch sub dup /MsaveAy exch def 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 % Here are the short operators /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 /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 /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 /Mnodistort true def /colorimage where { pop /Mcolorimage {colorimage} bind def /Mimage {image} bind def} { /colorimage {Mcolorimage} bind def } ifelse 1.000000 1.000000 scale 0.000000 177.937500 translate 1.000000 -1.000000 scale 0.000000 0.000000 translate /Mleft 0.000000 def /Mbottom 0.000000 def /Mwidth 288.000000 def /Mheight 177.937500 def 0 setgray 0 setlinewidth /Courier findfont 12 scalefont setfont /Mfontsize 12 def /Plain /Courier findfont def 0 Mbottom Mheight add 0.01 mul Mheight add translate 1 -1 scale %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238075 2007.42 0.309017 0.294302 [ [.22455 .29652 -18 -9 ] [.22455 .29652 18 0 ] [.42529 .29652 -18 -9 ] [.42529 .29652 18 0 ] [.62603 .29652 -18 -9 ] [.62603 .29652 18 0 ] [.82678 .29652 -18 -9 ] [.82678 .29652 18 0 ] [1.025 .30902 0 -7 ] [1.025 .30902 10 7 ] [.01131 .01472 -12 -4.5 ] [.01131 .01472 0 4.5 ] [.01131 .16187 -24 -4.5 ] [.01131 .16187 0 4.5 ] [.01131 .45617 -18 -4.5 ] [.01131 .45617 0 4.5 ] [.01131 .60332 -6 -4.5 ] [.01131 .60332 0 4.5 ] [.02381 .64303 -14 0 ] [.02381 .64303 14 14 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .22455 .30902 m .22455 .31527 L s [(0.0001)] .22455 .29652 0 1 Mshowa .42529 .30902 m .42529 .31527 L s [(0.0002)] .42529 .29652 0 1 Mshowa .62603 .30902 m .62603 .31527 L s [(0.0003)] .62603 .29652 0 1 Mshowa .82678 .30902 m .82678 .31527 L s [(0.0004)] .82678 .29652 0 1 Mshowa .125 Mabswid .06396 .30902 m .06396 .31277 L s .1041 .30902 m .1041 .31277 L s .14425 .30902 m .14425 .31277 L s .1844 .30902 m .1844 .31277 L s .2647 .30902 m .2647 .31277 L s .30485 .30902 m .30485 .31277 L s .345 .30902 m .345 .31277 L s .38514 .30902 m .38514 .31277 L s .46544 .30902 m .46544 .31277 L s .50559 .30902 m .50559 .31277 L s .54574 .30902 m .54574 .31277 L s .58589 .30902 m .58589 .31277 L s .66618 .30902 m .66618 .31277 L s .70633 .30902 m .70633 .31277 L s .74648 .30902 m .74648 .31277 L s .78663 .30902 m .78663 .31277 L s .86693 .30902 m .86693 .31277 L s .90707 .30902 m .90707 .31277 L s .94722 .30902 m .94722 .31277 L s .98737 .30902 m .98737 .31277 L s .25 Mabswid 0 .30902 m 1 .30902 L s gsave 1.025 .30902 -61 -11 Mabsadd m 1 1 Mabs scale currentpoint translate 0 22 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (t) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore .02381 .01472 m .03006 .01472 L s [(-1)] .01131 .01472 1 0 Mshowa .02381 .16187 m .03006 .16187 L s [(-0.5)] .01131 .16187 1 0 Mshowa .02381 .45617 m .03006 .45617 L s [(0.5)] .01131 .45617 1 0 Mshowa .02381 .60332 m .03006 .60332 L s [(1)] .01131 .60332 1 0 Mshowa .125 Mabswid .02381 .04415 m .02756 .04415 L s .02381 .07358 m .02756 .07358 L s .02381 .10301 m .02756 .10301 L s .02381 .13244 m .02756 .13244 L s .02381 .1913 m .02756 .1913 L s .02381 .22073 m .02756 .22073 L s .02381 .25016 m .02756 .25016 L s .02381 .27959 m .02756 .27959 L s .02381 .33845 m .02756 .33845 L s .02381 .36788 m .02756 .36788 L s .02381 .39731 m .02756 .39731 L s .02381 .42674 m .02756 .42674 L s .02381 .4856 m .02756 .4856 L s .02381 .51503 m .02756 .51503 L s .02381 .54446 m .02756 .54446 L s .02381 .57389 m .02756 .57389 L s .25 Mabswid .02381 0 m .02381 .61803 L s gsave .02381 .64303 -75 -4 Mabsadd m 1 1 Mabs scale currentpoint translate 0 22 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (B) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 69.000000 15.000000 moveto (H) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (t) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 81.000000 15.000000 moveto (L) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore .001 w .02381 .30902 m .97619 .30902 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath % End of Graphics MathPictureEnd %%PSTrailer end grestore %%EPS Trailer --------------42165D5C40C840163513FFC--