Re: Mathematica exports curves in pieces to Illustrator

*To*: mathgroup at smc.vnet.net*Subject*: [mg45476] Re: Mathematica exports curves in pieces to Illustrator*From*: "Steve Luttrell" <steve1 at _removemefirst_luttrell.org.uk>*Date*: Fri, 9 Jan 2004 05:20:45 -0500 (EST)*References*: <btb8ml$jno$1@smc.vnet.net> <btg92u$8vs$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

"AES/newspost" <siegman at stanford.edu> wrote in message news:btg92u$8vs$1 at smc.vnet.net... > In article <btb8ml$jno$1 at smc.vnet.net>, > "David Park" <djmp at earthlink.net> wrote: > > > I have often wondered about programs that would take Mathematica plot output > > and allow improvements to be made on the plots. What programs are available, > > what will they do for you and roughly how much do they cost? How well do > > they work with 3D graphics? Are they worth it? > > > > One of the things I don't like about Mathematica 3D graphics is the poor > > rendering. There are often extra lines and spots that shouldn't appear in > > the graphics. Do programs like Illustrator solve these problems? When I look > > at some of the sample 3D plots on the WRI web site, they look as if they had > > been run through an auxiliary program. > > One limiting case is becoming enough of a Mathematica graphics guru to > create your final, polished, presentation-level graphics output, getting > everything exactly as you want it, totally in Mathematica. I find this > a very difficult, time-consuming, essentially unobtainable goal, even > with a lot of trying. > > The alternative is to do as much as you can readily do in Mathematica > without too much effort, including some easy things like putting in text > some labels, converting all text to the fonts you want and various other > tricks; then export the result as EPS and do final polishing in > Illustrator. The start-up costs in this approach include acquiring, > paying for, and learning how to use Illustrator; and it also means you > end up maintaining multiple files, i.e. the Mathematic nb that creates > each graphic, maybe the EPS export, and the touched-up EPS export. > > Once you're past the initial hurdles, however, my view is that this is > absolutely the way to go. Important secondary benefits include the > abilities you acquire to export the touched-up Illustrator images into > any other formats you want, and in general the solid connection you now > have to the entire Adobe/PDF/Illustrator/Photoshop worlds (with the > low-end version, Photoshop Elements, being the > I have spent a lot of time trying to find a way of adding decent looking annotation to plots in Mathematica. The key trick that I have found is a way of using the Text graphics primitive to add any nicely formatted text that you can ordinarily create in a text cell. For example set the default textstyle for graphics text (this is important otherwise things don't display nicely) $TextStyle = {FontFamily -> "Times", FontSize -> 16}; and then use the following template to create a text graphic Show[Graphics[Text[DisplayForm[...],{0,0}]]] Now the problem is to construct a suitable expression to insert in place of the ... above. You can generate an appropriate expression to use for ... by using the text editing capabilities of Mathematica to create a Text cell that looks exactly like what you want to display in the text graphic above, and then copy from the Text cell the expression you need to make the text graphic work properly. For instance if you could a bold x with a 0 subscript in an embedded cell in a Text cell. If you then Show Expression on this cell you get Cell[TextData[Cell[BoxData[ FormBox[ SubscriptBox[ StyleBox["x", FontWeight->"Bold"], StyleBox["0", FontWeight->"Plain"]], TraditionalForm]]]], "Text"] Now if you copy the part from the FormBox[... to the ...TraditionalForm] which is FormBox[ SubscriptBox[ StyleBox["x", FontWeight->"Bold"], StyleBox["0", FontWeight->"Plain"]], TraditionalForm] and paste it in place of ... in Show[Graphics[Text[DisplayForm[...],{0,0}]]] at the top of this message. You then have an expression that displays as a text graphic exactly what you created in the Text cell above. It looks like this when it has been spliced together Show[Graphics[Text[DisplayForm[ FormBox[ SubscriptBox[ StyleBox["x", FontWeight->"Bold"], StyleBox["0", FontWeight->"Plain"]], TraditionalForm] ],{0,0}]]] The above input cell creates the required text graphic. This approach generalises to arbitrarily complicated expresions that you can construct in a Text cell. This trick is EXTREMELY USEFUL. I find that I can create very nice looking annotated graphics without ever needing to go outside Mathematica. Even better, I can generate all of my graphics under software control, so it is very quick and easy to make changes. Now why isn't this trick described in the Mathematica book? -- Steve Luttrell West Malvern, UK