home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / sci / math / symbolic / 2199 < prev    next >
Encoding:
Internet Message Format  |  1992-08-13  |  7.0 KB

  1. Path: sparky!uunet!munnari.oz.au!yoyo.aarnet.edu.au!sirius.ucs.adelaide.edu.au!levels!etwz
  2. From: etwz@levels.unisa.edu.au
  3. Newsgroups: sci.math.symbolic
  4. Subject: Re: Reduce BoundingBox of Mma Encap. PostScript?
  5. Message-ID: <18281.2a8be45d@levels.unisa.edu.au>
  6. Date: 14 Aug 92 07:20:37 GMT
  7. References: <18260.2a882baf@levels.unisa.edu.au>
  8. Organization: University of South Australia
  9. Lines: 211
  10.  
  11.  
  12. In article <18260.2a882baf@levels.unisa.edu.au>, 
  13. I writes:
  14. >   I use Mma 2.0 and psfix -epsf to generate ecapsulated PostScript.
  15. > However, the margins or BoundingBox in the epsf file seem quite large.
  16. > It is thus hard to put two plottings in one LaTeX page, unless scale
  17. > them a lot. 
  18. >   Is there a way to adjust the BoundingBox in the PostScript file,
  19. > rather by hand?
  20. Thanks to the kind responders now I have an almost satisfactory
  21. solution.  Although I still hope Wolfram modify its default in psfix
  22. (change epsf size from 4x4 to 5x3). The following is a summary.
  23.  
  24. (1) Lars A. Stole (lars@gsblas.uchicago.EDU) suggested BBFig for NeXT on
  25. sonata.cc.purdue.edu or cs.orst.edu in /pub/next/2.0-release/source/.
  26.  
  27. (2) dave stephens (dws@forager.unl.edu) suggested using
  28.  
  29. psfix -epsf -lmarg 0 -bmarg 0 -tmarg 0 -bmarg 0 -width 5 -length 3 filename \
  30. > newfile.ps
  31.  
  32. or as I tried, simply 
  33.  
  34. psfix -epsf -width 5 -length 3 filename > newfile.ps
  35.  
  36. gave the same result.
  37.  
  38. (3) Brian Berg (berg@a1.arc.umn.edu) seems have the best solution:
  39.  
  40.         here is PSFile & a modification of PSFile called PSFile2.
  41. In the 2 version, one can specify the size of the graphic or
  42. allow the default 3 by 5 inches to be used.
  43.  
  44. ---------------
  45. (* 2/25/1991 Dan Dill dan@chem.bu.edu *)
  46. (* 10/1992 modified by Brian Berg for PSFile2 *)
  47.  
  48. Unprotect[System`PSFile]
  49.  
  50.  
  51. System`PSFile::usage = "PSFile[-graphics-, \"file\"].  Capture a Mathematica
  52. graphic object in a PostScript file. Quotes are required around the file name
  53. and suffix `.ps' is added.  The graphic object is preprocessed through psfix
  54. to prepend the Mathematica PostScript procedures to the file, so that it may
  55. be printed directly with lpr.  For example,
  56. \n
  57. \n
  58. \t PSFile[myplot, \"myplot\"]
  59. \n
  60. \n
  61.   will convert the Mathematica graphic myplot to the PostScript file myplot.ps
  62. in the subdirectory p4 of the current directory."
  63.  
  64. System`PSFile2::usage = "PSFile2[-graphics-, \"file\", width, height].  
  65. Capture a Mathematica
  66. graphic object in a PostScript file. Quotes are required around the file name
  67. and suffix `.ps' is added.  The graphic object is preprocessed through psfix
  68. to prepend the Mathematica PostScript procedures to the file, so that it may
  69. be printed directly with lpr.  For example,
  70. \n
  71. \n
  72. \t PSFile[myplot, \"p4\", width, height]
  73. \n
  74. \n
  75.   will convert the Mathematica graphic myplot to the PostScript file myplot.ps
  76. in the subdirectory p4 of the current directory with a width and
  77. height as specified in inches."
  78.  
  79. System`PSFile::file = "Graphics being processed (with prolog) to file
  80. \"`1`\".";
  81. System`PSFile2::file = "Graphics w/ zero margins processing with prolog to file
  82. \"
  83. `1`\".";Begin["System`Private`"]
  84. PSFile[g_, f_String] := Block[{filename},
  85.         filename = StringJoin[f, ".ps"];
  86.         Message[PSFile::file, filename];
  87.         Display[StringJoin[
  88.                 "! ",
  89.                 "psfix",
  90.                 " > ",
  91.                 filename
  92.                 ], g
  93.         ];
  94. ]
  95. PSFile2[g_, f_String, w_:5.0, h_:3.0] := Block[{filename},
  96.         filename = StringJoin[f, ".ps"];
  97.         Message[PSFile2::file, filename];
  98.         Display[StringJoin[
  99.                 "! ",
  100.                 "psfix -lmarg 0 -rmarg 0 -bmarg 0 -tmarg 0 ",
  101.                 " -width ",ToString[ w], " -height ",ToString[ h],
  102.                 " > ",
  103.                 filename
  104.                 ], g
  105.         ];
  106. ]
  107. End[]
  108.  
  109. Protect[PSFile]
  110. -----------------
  111.  
  112. Brian also suggested to put the above codes into init.m file.
  113.  
  114. Thanks to you all, from down under (Australia).
  115.  
  116. --
  117. Weimin Zhang (weimin@panda.levels.unisa.edu.au)
  118.  
  119. {panda:71} cat temp
  120.  
  121. Thanks to the kind responders now I have an almost satisfactory
  122. solution.  Although I still hope Wolfram modify its default in psfix
  123. (change epsf size from 4x4 to 5x3). The following is a summary.
  124.  
  125. (1) Lars A. Stole (lars@gsblas.uchicago.EDU) suggested BBFig for NeXT on
  126. sonata.cc.purdue.edu or cs.orst.edu in /pub/next/2.0-release/source/.
  127.  
  128. (2) dave stephens (dws@forager.unl.edu) suggested using
  129.  
  130. psfix -epsf -lmarg 0 -bmarg 0 -tmarg 0 -bmarg 0 -width 5 -length 3 filename \
  131. > newfile.ps
  132.  
  133. or as I tried, simply 
  134.  
  135. psfix -epsf -width 5 -length 3 filename > newfile.ps
  136.  
  137. gave the same result.
  138.  
  139. (3) Brian Berg (berg@a1.arc.umn.edu) has the best solution:
  140.  
  141.         here is PSFile & a modification of PSFile called PSFile2.
  142. In the 2 version, one can specify the size of the graphic or
  143. allow the default 3 by 5 inches to be used.
  144.  
  145. --------------------------
  146. (* 2/25/1991 Dan Dill dan@chem.bu.edu *)
  147. (* 10/1992 modified by Brian Berg for PSFile2 *)
  148.  
  149. Unprotect[System`PSFile]
  150.  
  151.  
  152. System`PSFile::usage = "PSFile[-graphics-, \"file\"].  Capture a Mathematica
  153. graphic object in a PostScript file. Quotes are required around the file name
  154. and suffix `.ps' is added.  The graphic object is preprocessed through psfix
  155. to prepend the Mathematica PostScript procedures to the file, so that it may
  156. be printed directly with lpr.  For example,
  157. \n
  158. \n
  159. \t PSFile[myplot, \"myplot\"]
  160. \n
  161. \n
  162.   will convert the Mathematica graphic myplot to the PostScript file myplot.ps
  163. in the subdirectory p4 of the current directory."
  164.  
  165. System`PSFile2::usage = "PSFile2[-graphics-, \"file\", width, height].  
  166. Capture a Mathematica
  167. graphic object in a PostScript file. Quotes are required around the file name
  168. and suffix `.ps' is added.  The graphic object is preprocessed through psfix
  169. to prepend the Mathematica PostScript procedures to the file, so that it may
  170. be printed directly with lpr.  For example,
  171. \n
  172. \n
  173. \t PSFile[myplot, \"p4\", width, height]
  174. \n
  175. \n
  176.   will convert the Mathematica graphic myplot to the PostScript file myplot.ps
  177. in the subdirectory p4 of the current directory with a width and
  178. height as specified in inches."
  179.  
  180. System`PSFile::file = "Graphics being processed (with prolog) to file
  181. \"`1`\".";
  182. System`PSFile2::file = "Graphics w/ zero margins processing with prolog to file
  183. \"`1`\".";
  184.  
  185. Begin["System`Private`"]
  186. PSFile[g_, f_String] := Block[{filename},
  187.         filename = StringJoin[f, ".ps"];
  188.         Message[PSFile::file, filename];
  189.         Display[StringJoin[
  190.                 "! ",
  191.                 "psfix",
  192.                 " > ",
  193.                 filename
  194.                 ], g
  195.         ];
  196. ]
  197. PSFile2[g_, f_String, w_:5.0, h_:3.0] := Block[{filename},
  198.         filename = StringJoin[f, ".ps"];
  199.         Message[PSFile2::file, filename];
  200.         Display[StringJoin[
  201.                 "! ",
  202.                 "psfix -lmarg 0 -rmarg 0 -bmarg 0 -tmarg 0 ",
  203.                 " -width ",ToString[ w], " -height ",ToString[ h],
  204.                 " > ",
  205.                 filename
  206.                 ], g
  207.         ];
  208. ]
  209. End[]
  210.  
  211. Protect[PSFile]
  212. --------------------------
  213.  
  214. Brian also suggested to put the above codes into init.m file.
  215.  
  216. Thanks to you all, from down under of the earth.
  217.  
  218. --
  219. Weimin Zhang (weimin@panda.levels.unisa.edu.au)
  220.