Re: Odd Formatting Problem
- To: mathgroup at smc.vnet.net
- Subject: [mg35069] Re: [mg35033] Odd Formatting Problem
- From: BobHanlon at aol.com
- Date: Thu, 20 Jun 2002 23:56:31 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 6/20/02 5:01:34 AM, siegman at stanford.edu writes:
>I have several expressions inside a Module that I've typed in the
>general form
>
>labelTwoText = "OUTPUT:\n"
> <> "\nK2 = " <> ToString[K2]
> <> "\nG2 = " <> ToString[G2 // N]
> <> "\ntheta2 = " <> ToString[theta2/degrees // N]
> <> "\nthetaC = " <> ToString[thetaC/degrees // N]
> <> "\nk2 = " <> ToString[k2 // N];
>
>where I've inserted the CRs at the end of each line deliberately
>for readability.
>
>(The expression is intended to collect text to be inserted into
>graphics using Text[] and Show[]. The real-life examples are
>three or four times as long.)
>
>Sometimes these work fine; sometimes for unknown reasons they get
>screwed up -- especially if I cut and paste the expression within
>the Module to move it or duplicate it. When this happens:
>
>1) I get the error message
>
> Syntax::sntxb: Expression cannot begin with "<>
> K2 = <>ToString[K2//N]".
>
>2) Some of the lines become indented by slightly different
>amounts before the "<>"'s.
>
>3) The program is now totally unstoppable: Interrupt Evaluation
>or Abort Evaluation no longer stop the program, which will
>apparently Run forever. Only way out is to Quit the front end,
>then Quit the kernal, and restart the app.
>
>3) Once you've reopened the notebook, laboriously doing a delete
>and then CR at the beginning of each line is the only way to
>restore functionality,
>
>Obviously I'll stop typing them this way and let Mathematica make the line
>
>breaks -- but this does seem like some kind of bug?
>
>(Mathematica 4.1.0.0 on a Mac G3 PB running OS 8.6)
First, do not break a line at a point that could represent a complete
expression. Specifically, always leave the StringJoin ( <> ) at the end
of a line not at the start of a line. That way Mathematica will know
unambiguously that more follows in the current expression.
labelTwoText = "OUTPUT:\n" <>
"\nK2 = " <> ToString[K2] <>
"\nG2 = " <> ToString[G2 // N] <>
"\ntheta2 = " <> ToString[theta2/degrees // N] <>
"\nthetaC = " <>
ToString[thetaC/degrees // N] <>
"\nk2 = " <> ToString[k2 // N]
Alternatively, use a form like SequenceForm which will clearly leave
the expression open until the last right bracket ( ] ).
SequenceForm[
"OUTPUT:\n\nK2 = ", ToString[K2],
"\nG2 = ", ToString[G2 // N],
"\ntheta2 = ", ToString[theta2/degrees // N],
"\nthetaC = ", ToString[thetaC/degrees // N],
"\nk2 = ", ToString[k2 // N]]
Bob Hanlon
Chantilly, VA USA