MathGroup Archive 2014

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

Search the Archive

Re: Unnecessary parentheses around TagBox for MakeBoxes?


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