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.
>
- References:
- Unnecessary parentheses around TagBox for MakeBoxes?
- From: Yi Wang <tririverwangyi@gmail.com>
- Unnecessary parentheses around TagBox for MakeBoxes?