3

Use an InterpretationBox, TagBox or TemplateBox with a SyntaxForm option. For example: MakeBoxes[f[a, b, c, d], TraditionalForm] ^:= InterpretationBox[ RowBox[{RowBox[{"{","a","b","}"}], RowBox[{"{","c","d","}"}]}], f[a,b,c,d], SyntaxForm->"^" ] Then: 2 f[a,b,c,d] //TraditionalForm 2 {a b}{c d}


Only top voted, non community-wiki answers of a minimum length are eligible