MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Use Style for symbol with a value?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84771] Re: Use Style for symbol with a value?
  • From: Albert Retey <awnl at arcor.net>
  • Date: Sun, 13 Jan 2008 05:49:16 -0500 (EST)
  • References: <fm9b8a$j1a$1@smc.vnet.net>

Murray Eisenberg wrote:
> I have some symbols that already have values, e.g.:
> 
>     x = Sqrt[2]; f[t_]:=t^2; y = Pi;
> 
> I want to display the raw expression f[x] in a TraditionalForm and with 
> a Styled treatment.  Of course this is easy to do with a HoldForm, e.g.:
> 
>     Style[TraditionalForm[HoldForm[f[x]]], Large, Bold]
> 
> But I have multiple instances of this situation within a single large 
> expression, so I want to modularize this by defining a function to do 
> the formatting -- something like:
> 
>     myStyled[txt_] := Style[TraditionalForm[HoldForm[txt]], Large, Bold]
> 
> Now of course this will NOT work, since in
> 
>     myStyled[f[x]]
> 
> the expression f[x] will be evaluated first, and instead of seeing the 
> TraditionalForm equivalent of f[x] I'll see just the value 2.
> 
> Now that is easily remedied by using, instead:
> 
>     myStyled[HoldForm[f[x]]]
> 
> So far so good.  But I have several expressions to which I want to apply 
> the styling -- something like
> 
>    {myStyled[HoldForm[x]],myStyled[HoldForm[f[x]]],myStyled[HoldForm[y]]}
> 
> -- and I would like to be able to avoid wrapping each of the individual 
> items in HoldForm so as to reduce the length and complexity of the code 
> there.
> 
> Is there some way of defining myStyled and using some appropriate form 
> of Hold that will accomplish this.
> 
> Ultimately I'd even like to do something like
> 
>    myStyled /@ whatGoesHere[{x,f[x],y}]
> 
> where whatGoesHere holds things in the list so it all works.
> 
> (Hope I'm clear in what I'm trying to do.)
> 

I would do:

SetAttributes[myStyled,HoldAll]

ReleaseHold[ myStyled/@ Hold[x,f[x],y] ]

does that fit your needs? I haven't tried this with your code but think 
it should work...

hth,

albert


  • Prev by Date: Re: how restore version 5.2 graphics in 6
  • Next by Date: Re: Creating a set from two other sets
  • Previous by thread: Use Style for symbol with a value?
  • Next by thread: Creating a set from two other sets