[Date Index]
[Thread Index]
[Author Index]
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**
| |