Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2014

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

Search the Archive

Re: Unnecessary parentheses around TagBox for MakeBoxes?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg132236] Re: Unnecessary parentheses around TagBox for MakeBoxes?
  • From: John Fultz <jfultz at wolfram.com>
  • Date: Tue, 21 Jan 2014 03:47:35 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net
  • References: <20140118100106.64B6C6A15@smc.vnet.net>

You can use the SyntaxForm option of TagBox to resolve this.  A common pattern that you'll find with many template styles in Core.nb for situations very much like this (i.e., where the TagBox should simply act as a standalone thing and not as a thing with a given precedence) is using a value of SyntaxForm->=94symbol=94.

MakeBoxes[test, form_] :=
 TagBox[RowBox[{"test", "END"}], "myBox", SyntaxForm -> "symbol=94]

While the meme of using SyntaxForm->=94symbol=94 isn't documented, SyntaxForm is otherwise documented and I encourage you to look it up.

John Fultz
jfultz at wolfram.com
User Interface Group
Wolfram Research, Inc.



On Jan 18, 2014, at 4:01 AM, Yi Wang <tririverwangyi at gmail.com> wrote:

> Hello,
>
> I was trying to generate pretty output for some expressions. To assist interpretation, a TagBox is used.
>
> A problem is that, Mathematica always insert unnecessary parentheses outside TagBox. For example,
>
> MakeBoxes[test, form_] := TagBox[RowBox[{"test", "END"}], "myBox"]
>
> In[] := 2 test
> Out[] = 2 (test END)
>
> Here the TagBox already has clear boundary thus the parentheses shouldn't be necessary. Would it be possible to remove it?
>
> Note that the "END" in this simple example will be replaced by a complicated structure (GridBox) in actually usage. Thus I cannot simply write "testEND" together as a single string. Also, the parentheses appears in TraditioinalForm, which further appear in all forms as TeXForm, etc.
>




  • Prev by Date: Distance Between a B-Spline Surface & Point
  • Next by Date: Re: Default value in pattern matching
  • Previous by thread: Re: Unnecessary parentheses around TagBox for MakeBoxes?
  • Next by thread: Re: Unnecessary parentheses around TagBox for