Re: Print out an Expression Letter by Letter on the same line
- To: mathgroup at smc.vnet.net
- Subject: [mg126246] Re: Print out an Expression Letter by Letter on the same line
- From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
- Date: Fri, 27 Apr 2012 06:47:07 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
I taught a course using Mathematica.....the problem I encountered with that was everything was all set to go, i.e. printed out completely.....and may have given the Students too much information all at once.... I notice there is a Difference in watching an Instructor write an Expression on the Black board Letter by Letter....the mind has a chance to acclimate to what he is writing, etc.... Hence, I wondered is there a way that I could get Mathematica to do that for me....example, Print out f[x] = Sin[x].....and be able to vary the Pause between letters until I find what is Optimum.... I looked up Pause and Print , etc....with no Luck on how to put it on the same line....any suggestions? thanks....Jerry Blimbaum Hi, Jerry, One thing you may try is the FlipView. Just to make an example of its use, try this: expr1 = Panel[Sin[x] // Defer // TraditionalForm]; expr2 = Panel[Sin[x] Cos[x] // Defer // TraditionalForm]; expr3 = Panel[ Sin[x] Cos[x] == 1/2 Sin[2 x] // Defer // TraditionalForm]; FlipView[{expr1, expr2, expr3}] The image will change upon the mouse click done on the image. The image will be replaced by the next one, as many of them as you like. This, however, will require form you some boring typing, since if you need it to be done letter by letter you need to have The number of images equal to the number of letters. Another thing you could try may be a button. In the most simple case it will give you one image under another. For example, try this: i = 0; Button["Show next", i++; Print@If[i == 1, expr2, expr3]] One good thing I used in my lectures is the text accentuation. There has been a very fruitful discussion on this subject few years ago. You might wish to look up using the "accentuation" key-word. Here is an example of functions for accentuation by transforming the part of the formula into red and blinking: Ac[expr_] := DynamicModule[{c1 = 0}, EventHandler[ Dynamic[ If[c1 == 0, Style[expr, Black, Plain, 22, Italic] // ExpressionCell, Dynamic@If[Clock[1, 0.7, 2] < .5, Style[expr, Plain, 22, Italic] // ExpressionCell, Style[expr, RGBColor[0.8, 0, 0], Bold, 23, Italic]] // ExpressionCell ] ], \ {"MouseDown" :> (c1 = c1 /. {0 -> 1, 1 -> 0})} ] ]; Pl[expr_] := ExpressionCell[Style[expr, Black, Plain, 22, Italic]]; The function Ac makes the accentuation, while Pl leaves the text plain. These functions work with the strings. First execute Ac and Pl and then try this: expr1A = "Y=2sin(x)" // Pl; expr2A = Row[{"Y=2" // Pl, "sin(x)cos(x)" // Ac}]; expr3A = Row[{"Y=2" // Pl, "sin(x)cos(x)=" // Pl, "sin(2x)" // Ac}]; FlipView[{expr1A, expr2A, expr3A}] To make the part of the text accentuated click on this part. To make the image flip click on the plain part of the text (in this case it is the part "Y=2"). That is to answer your questions. My personal opinion on the subject is that in addition to what you have written about the "mind acclimatization" (I agree 100% with that), I believe that lecturer writing on the blackboard has the function of demystifying the science. It is since the students get a feeling (or may be, an illusion) of making the same operations themselves, and of understanding all steps (in the case of good students, of course), and there are no miracle behind. Demystifying is extremely important. For this reason it seems me that nothing may completely replace writing on the blackboard. Have success, Alexei Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L-5326 Contern, LUXEMBOURG Office phone : +352-2454-2566 Office fax: +352-2454-3566 mobile phone: +49 151 52 40 66 44 e-mail: alexei.boulbitch at iee.lu