Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Subscript on plus expression
Replies: 16   Last Post: Dec 3, 2012 3:18 AM

 Messages: [ Previous | Next ]
 Bob Hanlon Posts: 906 Registered: 10/29/11
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]],
>
> 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]],
>
> don't work!
>
>
> How can I get Mathematica to parenthesize the sum in
> Superscript[Plus[a,b],k] ?
>
> Thanks in advance,
>
>
>
>
>

Date Subject Author
11/18/12 Nasser Abbasi