ColumnForm[] and output_files

*To*: mathgroup at yoda.physics.unc.edu*Subject*: ColumnForm[] and output_files*From*: Jonathan Rich <rich at earth.nwu.edu>*Date*: Mon, 11 Jan 1993 10:38:44 -0600

I am on a UNIX platform and have a shellscript that makes use of Mathematica, running in the background, to do hundreds of modeling experiments. The output generated is plot files. In order to be able to record as much information (i.e. model parameters) on the plots as possible, I finally discovered the possibility of using a 3-line plot label by making use of "ColumnForm[]". This works fine as long as I stay within Mathematica. However, as soon as the plot is saved to a file (which is of course a necessary part of the shellscript), a problem develops. Namely, "ColumnForm[]" does its job (too early, for my purposes) and splits the scene, leaving a plot file that is no longer valid Mathematica code. I developed a klutzy workaround that makes use of the UNIX stream editor ("sed") to modify the plotfile by reinserting the characters "ColumnForm[{", ",", and "}]," at the appropriate places but this only works about 2/3 of the time (due to some variability in Mathematica's output). How can I solve this problem within Mathematica (w/o resorting to "sed")? Is there some way to preserve "ColumnForm[ . . . ]" in the output, i.e. prevent it from being evaluated at time of output? Below is a simple version of code designed to illustrate the problem. Any help or advice will be much appreciated. --Jonathan Rich (************ code follows **************) noshow = DisplayFunction->Identity; show = DisplayFunction ->$DisplayFunction; plotlabel[titlestring_]:= PlotLabel -> ColumnForm[ {StringForm["`` line #1",titlestring ], StringForm["line #2"], StringForm["line #3"]}, Center]; plot = Show[ ListPlot[{1},noshow], plotlabel[ "plotname" ] ]; plot >> plotfile.m testplot =<< plotfile.m plotworks = Show[plot,show] plotdoesnotwork = Show[testplot,show]