Re: How Can I Make A String Variable With Styled Text?
- To: mathgroup at smc.vnet.net
- Subject: [mg128787] Re: How Can I Make A String Variable With Styled Text?
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Sun, 25 Nov 2012 23:24:57 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <k8psvt$is4$1@smc.vnet.net> <k8sqm5$ooe$1@smc.vnet.net>
On 25/11/2012 10:08, Nasser M. Abbasi wrote: > On 11/24/2012 1:29 AM, Gregory Lypny wrote: >> Hello everyone, >> >> I have a string variable >> >> myString = "This is boldface. The rest is not." >> >> When I execute myString, I want the first sentence to appear in bold type. >> Selecting the sentence and formatting it as bold when I create the string does not work. >> StringForm will do the trick, as in >> >> myString = StringForm["`` The rest is not.", Style["This is boldface", Bold]] >> >> but, of course, the Head of myString will no longer be String. Is there any other way to do this? >> > > Colors and Bold or not and other attributes are part of the display processes, > not the data itself. > > Why not simply do: > > ----------------------------- > boldString = "This is boldface."; > notBoldString = " The rest is not."; > > Row[{Style[boldString, Bold], notBoldString}] > ------------------------------- > > --Nasser > > Although in practice, that is probably good advice, it isn't quite the whole story! To see this consider: "ABCDEFGHI" Colour the letters DEF red, and then evaluate it. The result is still coloured - which means that the string that was processed by the kernel must contain the colour information! To discover what that is, take the same partially coloured string, but apply FullForm: "ABCDEFGHI"//FullForm "\!\(\*\nStyleBox[\(abc\*\n StyleBox[\"def\",\nFontColor->RGBColor[1, 0, 0]]ghi\)]\)" In practice, I am not sure this observation is particularly useful, because the encoding of colour information in strings, is so messy, but strings can contain colour and also box structures (try using Ctrl+_ to insert a subscript into a string). David Bailey http://www.dbaileyconsultancy.co.uk