|
Re: Superscript on plus expression
Posted:
Nov 28, 2012 3:16 AM
|
|
You could use a replacement rule.
ssr = ss_?( # === Subscript || # === Superscript&)[arg_Plus,k_] :> ss["(" <> StringJoin@@Riffle[ToString/@ (List@@arg), " + "] <> ")", k];
{Subscript[a+b, k], Superscript[a+b, k]}/.ssr
Bob Hanlon
On Tue, Nov 27, 2012 at 3:30 AM, Dave Snead <dsnead6@charter.net> wrote: > Hi, > > Mathematica fails to parenthesize the a+b in Superscript[Plus[a,b],k] > so the output looks identical to > Plus[a,Superscript[b,k]] > > Previous suggestions that worked to fix a similar problem for the Subscript > case, i.e., > > Format[Subscript[arg_Plus, k_]] := > Subscript[ > "(" <> StringJoin @@ Riffle[ToString /@ (List @@ arg), " + "] <> > ")", k] > > and > > MakeBoxes[Subscript[(head : (Plus | Times))[args__], k_], > form : (StandardForm | TraditionalForm)] := > InterpretationBox[#1, #2] & @@ {SubscriptBox[ > RowBox[{"(", ToBoxes[head[args], form], ")"}], ToBoxes[k, form]], > Subscript[head[args], k]} > > don't carry over analogously to the Superscript case! > > Format[Superscript[arg_Plus, k_]] := > Superscript[ > "(" <> StringJoin @@ Riffle[ToString /@ (List @@ arg), " + "] <> > ")", k] > > and > > MakeBoxes[Superscript[(head : (Plus | Times))[args__], k_], > form : (StandardForm | TraditionalForm)] := > InterpretationBox[#1, #2] & @@ {SuperscriptBox[ > RowBox[{"(", ToBoxes[head[args], form], ")"}], ToBoxes[k, form]], > Superscript[head[args], k]} > > don't work! > > > How can I get Mathematica to parenthesize the sum in > Superscript[Plus[a,b],k] ? > > Thanks in advance, > Dave Snead > > > > >
|
|