Re: BracketingBar for output
- To: mathgroup at smc.vnet.net
- Subject: [mg15779] Re: [mg15717] BracketingBar for output
- From: Carl Woll <carlw at fermi.phys.washington.edu>
- Date: Sun, 7 Feb 1999 02:03:55 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Peter,
Do you want Betrag[foo] to display as |foo|, but remain as Betrag[foo]
internally? For example, suppose you have
v = Betrag[foo]
foo = {1,2,3}
Now, if you enter v do you want |{1,2,3}| or 14?
If |{1,2,3}| is OK, then you could do something like
Betrag[v_List] := Sqrt[v.v]
Betrag[v_]:=|v|
On the other hand, if you want 14, then you should use Format or
MakeBoxes. For example,
Betrag[v_List] := Sqrt[v.v]
MakeBoxes[Betrag[v_],f_] := RowBox[{"|",MakeBoxes[v,f],"|"}]
Try both approaches and see what you like better.
Carl Woll
Dept of Physics
U of Washington
On Fri, 5 Feb 1999, Peter Breitfeld wrote:
> In my "personal package" I have the function Betrag[x_]:=Sqrt[x.x]
>
> Now I want that in cases where this function can't be evaluated, the
> output in StandardForm is displayes as |x|. (left and right
> BracketingBar, these symbols you get when entering `ESC l| ESC' and
> `ESC r| ESC'.
>
> To make it more clear (I hope :-)) I want the following behavior
>
> In[1] Betrag[foo]
> Out[1] |foo|
>
> but
>
> In[1] Betrag[{2,2,1}]
> Out[1] 3
>
> Is this possible?
>
> TIA
>
> es gruesst
> Peter
> --
> =--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=
> Peter Breitfeld, Saulgau, Germany (PGP public key: 08548045)
>