Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

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


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

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

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Bob Hanlon

Posts: 891
Registered: 10/29/11
Re: Superscript on plus expression
Posted: Nov 28, 2012 3:16 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

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
>
>
>
>
>





Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.