work with graphics and output in a different notebook from the one containing your code
- To: mathgroup at smc.vnet.net
- Subject: [mg55557] work with graphics and output in a different notebook from the one containing your code
- From: Chris Chiasson <chris.chiasson at gmail.com>
- Date: Tue, 29 Mar 2005 04:20:04 -0500 (EST)
- Reply-to: Chris Chiasson <chris.chiasson at gmail.com>
- Sender: owner-wri-mathgroup at wolfram.com
Have you ever wanted to output graphics or maybe all output cells to another notebook while you're doing your analyses? You might want to do this if you: magnify (Format -> Magnification) your working notebook to avoid eye strain, but need to know what your plots will look like in other applications are annoyed by the "notebook length changes" that happen when reevaluating a long notebook Below, you will find code (not a package) to send output and graphics to another notebook. Notes: targetnb is the target notebook object. It is not Saveable by default. send will send output to targetnb. blockgraphics will block graphics output bsgraphics will block and send graphics to targetnb Examples: "hello there"//send Plot[x^2,{x,0,3}]//bsgraphics I owe thanks to David Park for his code in the MathGroup post located at the following url: http://forums.wolfram.com/mathgroup/archive/2001/Jul/msg00150.html (***************Code*****************) If[MemberQ[Notebooks[],targetnb],,targetnb=NotebookCreate[Saveable->False]]; send=NotebookWrite[targetnb,Cell[BoxData[ToBoxes[#],"Output"]]]&; sendgraphics= NotebookWrite[targetnb, Cell[GraphicsData["PostScript",DisplayString[#]],"Graphics"]]&; Attributes[blockgraphics]={HoldAll}; blockgraphics[plot_]:=Block[{$DisplayFunction=Identity},plot]; Attributes[bsgraphics]={HoldAll}; bsgraphics[plot_]:=sendgraphics@blockgraphics@plot (***************End*****************) Regards, Tips for improvement are welcome! -- Chris Chiasson Kettering University Mechanical Engineering Graduate Student 1 810 265 3161