MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: "Anti-Comments"?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg69164] RE: [mg69096] "Anti-Comments"?
  • From: "David Park" <djmp at earthlink.net>
  • Date: Thu, 31 Aug 2006 04:39:46 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

I want to respond to this but I'm not quite certain of the best response! So
this will be more in the line of musing.

My first impression is that you want to make Input cells into Text cells and
Text cells into Input cells, so why not just switch the names? But what I
think you are really getting after is a tighter integration of textual
material and active definitions and commands. That seems like a good thing,
especially since many users don't use Text cells at all.

One can put inline cells into Text cells, as you mentioned, and even
evaluate them by selecting the inline cell and using Shift-Ctrl-Enter. But
they seem to have to be evaluated separately and one can't just evaluate the
Text cell. So I see this as principally a little fancy word processing.

The way the front end works now is that textual material and active input
are in different cells. This means a new line and space between them. So
that's as tight as one can integrate them. (At least conveniently.) As some
people know, I like to call the regular style of research papers and
textbooks the TED style (Text, Equations, Diagrams) and I like to call
Mathematica with the front end the Ted Advanced style, which is much more
powerful. But here is a case where we can't completely mimic the TED style,
by having important definitions mixed in with the textual material on the
same line.

But is that necessarily a bad thing? One of the troubles with regular TED
math books is that essential definitions and descriptive material are often
woven so tightly together that one can easily miss essential steps or
conditions. I guess that is why they say that mathematics is close reading.
Putting all descriptive and explanatory material in Text cells and all
active material in Input cells certainly makes a clean separation between
the two.

If we look at your specific example I would first change your definition.

results[a_] := Plot[{x, Sin[a x]}, {x, 0, Pi}, Frame -> True]

Then I would do a succession of Text and Input cells...

The normal case is

results[1];

But if we change the parameter a to 3 the result looks quite different.

results[3];

And if we choose a = 4 the result is really different.

results[4];

...I don't see that this is greatly different than your desired
presentation.

Also I think it is a distinct advantage to include the a parameter in the
definition of results. Without it, a reader could evaluate results and not
know what the parameter is or where it was last defined. The reader of the
notebook would have to do some 'close reading' to ascertain where a was set.
There shouldn't be a disconnect between the parameters a routine uses and
the actual use of the routine.

I can see some advantages in 'active Text cells' but I would hate to see WRI
drastically change the notebook interface. What we get might not be what we
like. I think the present interface is pretty good. I'm willing to go with
it and try to learn how to use it to best advantage. I want to spend my time
thinking about the math and physics and I don't want to be continually
facing a new interface.

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/



From: AES [mailto:siegman at stanford.edu]
To: mathgroup at smc.vnet.net


[Apologies if my earlier version of this query was answered and I missed
it.]

You can put text comments inside an Input cell using the (* ---- *)
syntax and they'll be displayed, but not executed.

Is it possible to have an "anti-comment" capability -- maybe indicated
by an anti-comment syntax like  *( --Input stuff-- )* -- that will do
the opposite?

That is, I'd like to be able to insert properly coded Input expressions
inside a Text cell and have them be executed -- *without* messing with
the basic Text cell structure.

Example: Define, using an Input cell in the initialization part of a
notebook,

   results := Module[{}, Plot[{x, Sin[a x]}, {x, 0, Pi}]

and then, later in the notebook, have Text cells (*standard* Text cells)
with contents like:

   But if we change the input parameter to be *( a = 3 )*, the
   new *( result )* looks quite different:

         - -  plot shows up here --

   And if we chose *( a = 4 )* the *( result )* is really
   different:

         - -  another plot shows up here --

NOTE!!  I'm not asking how one might define any such *( )* commands to
accomplish this result -- I'm just using them to illustrate how the
executable subcells would fit into the text cells.

Section 1.1.10 of The Book tells how to insert a differently formatted
formula in a text cell using ctrl-( and ctrl-).  My question is: using
any kind of menu commands or mousing around, can an inserted subcell
that is displayed inside a standard Text (or Heading) cell be made
executable???



  • Prev by Date: Re: Can't Remove[] variable "K"? (Really strange behavior . . . )
  • Next by Date: Re: General--Exponential simplifications by default
  • Previous by thread: RE: Can't Remove[] variable "K"? (Really strange behavior . . . )