Re: making a Module or Column that will print lines interspersed
- To: mathgroup at smc.vnet.net
- Subject: [mg129683] Re: making a Module or Column that will print lines interspersed
- From: awnl <awnl at gmx-topmail.de>
- Date: Sun, 3 Feb 2013 20:24:56 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <kel4u8$38r$1@smc.vnet.net>
Am 03.02.2013 08:51, schrieb Bruce Shore:
> I run Mathematica 7. I have some legacy notebooks, from Mathematica 5, in which there were Modules such as
>
> macro :=Module[{j},
> Print["something"];
> plota;
> Print["something else"];
> plotb
> ];
>
> where plota and plotb were plots. Now with Mathematica 7 the semicolons prevent the plots from showing up. Show[plota]; has the same problem. The semicolons, which are needed in a Module, prevent the plotting. I have tried using a Column or a Graphics column,
>
> macro:=Column[{
> Print["something"],
> plota,
> Print["something else"],
> plotb
> }]
>
> and this does the printing and the plotting, but all the printing comes at the beginning and all the plots come after that. I really want the printing to come in between the plots, in the order that I show them. How can I do this?
>
I would suggest to use a Print for each of the plots, e.g.:
macro :=Module[{j},
Print["something"];
Print[plota];
Print["something else"];
Print[plotb];
];
this will not only be much easier to change but also reflect the
original code better: it makes the display of the plot a side effect as
it always was before version 5.
For new code, it of course it's of course better to take advantage of
the fact that graphics-expressions that are return values now are
rendered nicely in the frontend...
hth,
albert
PS: you'll of course find similar questions and answers many times if
you search the archive for messages from the time when version 6 came out...