Re: Getting stylized text with a palette button

*To*: mathgroup at smc.vnet.net*Subject*: [mg28563] Re: Getting stylized text with a palette button*From*: paulh at wolfram.com (P.J. Hinton)*Date*: Fri, 27 Apr 2001 03:56:17 -0400 (EDT)*Organization*: Wolfram Research, Inc.*References*: <9c7ned$sep@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

On 25 Apr 2001 19:43:09 -0400, Raul Martinez <rmartinez at vrinc.com> wrote: > I would like to define a palette with buttons that produce stylized text > in a notebook Text cell. The following is a specific example. While in > a Text cell, I want to click a button that produces the symbol x[n] in > Times font and with the x and n in italics. > > So I produced a palette with a single button containing x[n] with the > Times font and the desired italics. The results are puzzling. When I > click the button while in a Text cell I get x[n] in plain Courier font. > But I get the x[n] I want when I click the button while in an Input > cell. Changing the Input cell to a Text cell causes x[n] to change from > Times/italics to Courier/plain, which is of course the same result I get > by starting in a Text cell. Here is button that will accomplish what you desire. ButtonBox[ FormBox[ StyleBox[RowBox[{"x", "[", "n", "]"}], "TR"], TraditionalForm ], ButtonEvaluator -> None, ButtonFunction :> (NotebookWrite[FrontEnd`InputNotebook[], #2] &), ButtonData -> Cell[ BoxData[FormBox[RowBox[{"x", "[", "n", "]"}], TraditionalForm]] ] ] // DisplayForm Some things to note about this approach: 1) We use a TraditionalForm FormBox wrapper around the content to obtain italicized single letters. This is because the TraditionalForm format type is has the option setting SingleLetterItalics -> True. 2) The "TR" is one of many inline styles that can be used to force the choice of a font. Here, we use it to set the "x" and "n" in the button contents in Times-Roman. 3) The ButtonData option has a complete cell. The use of an inline cell prevents the formatting from being stripped out when pasted in a text edit cell. -- P.J. Hinton User Interface Programmer paulh at wolfram.com Wolfram Research, Inc.