Re: StylePrint problem

*To*: mathgroup at smc.vnet.net*Subject*: [mg20489] Re: StylePrint problem*From*: paulh at wolfram.com (P.J. Hinton)*Date*: Wed, 27 Oct 1999 02:04:53 -0400*Organization*: "Wolfram Research, Inc."*References*: <7v3apq$5l1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

In article <7v3apq$5l1 at smc.vnet.net>, "Dana DeLouis" <dana2 at email.msn.com> writes: >Hello. I am trying to learn Programming in Mathematica 4. I am also studying math >problems. >If I know that I am going to do 30+ problems at the end of a chapter, I >want to avoid typing in the text..Problem #1, Problem #2, etc > >I found this example in the "Tour of Mathematica" section of "The >Mathematica Book." > >Do[StylePrint["Problem # " <> ToString[i], "Section"], {i, 10}] > >Which works...kind of. After the above prints out correctly, I move the >cursor between say Problem #4, and Problem #5 to begin solving Problem #4. >As soon as I hit enter, all the output from Problem #5, down to the last >one is deleted! > >Does anyone do anything similar? Is there another command that I should be >using instead. I have looked for a long time. Thank you for any insight / >solution. Dana This sort of task is ideal for palette buttons and counters. Paste these expressions into individual cells and evaluate them in order of appearance. They will generate 2 x 1 palette of buttons. Clicking on the first button sets down a Section cell identifying the section of the book from which the problems came. The second button pastes cells that automatically number the problem. To create a standalone palette notebook, select the array of buttons and then perform the menu command File -> Generate Palette from Selection. (but1 = ButtonBox[ "Paste Section Heading", ButtonEvaluator -> None, ButtonFunction :> NotebookWrite[ FrontEnd`InputNotebook[], Cell[ TextData[ {"Section ", CounterBox["Section"] } ], "Section" ] ], Active -> True ]) // DisplayForm (but2 = ButtonBox[ "Paste Problem Heading", ButtonEvaluator -> None, ButtonFunction :> NotebookWrite[ FrontEnd`InputNotebook[], Cell[ TextData[ {"Problem ", CounterBox["Subsection"], " Section ", CounterBox["Section"] } ], "Subsection" ] ], Active -> True ]) // DisplayForm GridBox[ {{but1}, {but2}}, RowSpacings -> 0 ] // DisplayForm To initialize the value of the Section counter to something other than 1. Click on the bracket of the first Section style cell in the notebook and open the Option Inspector with the menu command Format -> Option Inspector... Within the Option Inpsector dialog, set the window to your working notebook and the scope indicator to "selection." Enter the text "CounterAssignments" in the text field adjacent to the Lookup button and then click on it. The value of CounterAssignments may look something like this. CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}} Change it to read: CounterAssignments->{{"Section", <desired value - 1>, {"Subsection", 0}, {"Subsubsection", 0}} So if you wanted to start the Section numbering at 43, you would enter the value of 42 (isn't that the answer to all questions?) For more information, check out the CounterBox tutorial at MathSource. -- P.J. Hinton Mathematica Programming Group paulh at wolfram.com Wolfram Research, Inc. Disclaimer: Opinions expressed herein are those of the author alone.