Re: question about HoldForm

*To*: mathgroup at smc.vnet.net*Subject*: [mg60792] Re: [mg60777] question about HoldForm*From*: Andrzej Kozlowski <andrzej at yhc.att.ne.jp>*Date*: Thu, 29 Sep 2005 05:40:59 -0400 (EDT)*References*: <200509280541.BAA08384@smc.vnet.net> <C7A03B69-E78A-4C45-9B9C-26AA77EAA489@yhc.att.ne.jp>*Reply-to*: Andrzej Kozlowski <andrzej at akikoz.net>*Sender*: owner-wri-mathgroup at wolfram.com

On 28 Sep 2005, at 16:14, Andrzej Kozlowski wrote: > > On 28 Sep 2005, at 14:41, Ruth Lazkoz wrote: > > >> >> Hi, >> >> I have this expression >> >> x = 2; HoldForm[x^2 + 4x + 4] >> >> Is there a way to operate on HoldForm so that I get (x^2+2)^2? If >> I cut >> a paste the result and operate on it I obviously get 16. >> >> Thanks, >> >> Ruth >> >> >> >> > > Do you mean (x+2)^2? > Assuming so one possible way is something like this: > > > x = 2; v = HoldForm[x^2 + 4*x + 4]; > > > Block[{x}, HoldForm[Evaluate[v /. HoldForm[u_] :> Factor[u]]]] > > > HoldForm[(x + 2)^2] > > Andrzej Kozlowski > > > This may be slightly simpler, though the idea is the same. x = 2; v = HoldForm[x^2 + 4*x + 4]; In[3]:= Block[{x}, HoldForm[Evaluate[Factor[ReleaseHold[v]]]]] HoldForm[(x + 2)^2] Andrzej Kozlowski

**Follow-Ups**:**Re: Re: question about HoldForm***From:*Andrzej Kozlowski <andrzej@yhc.att.ne.jp>

**References**:**question about HoldForm***From:*"Ruth Lazkoz" <ruth.lazkoz@ehu.es>