I have a notational reason (using the Notations package) to have some symbols display as C*60 (with the 60 lined up under the *). Internally, this is represented in Mathematica as:
\!\(\*SubsuperscriptBox[\(C\), \(60\), \(*\)]\)
However, whenever I do something that executes this, it converts to (C60)*, which is internally represented as:
SuperStar[(Subscript[C, 60])]
I am needing to pass the original version, a SubsuperscriptBox, to a function and then convert it to:
SubsuperscriptBox["C", "60", "*"]
So that I can use it as the left-hand side of a Notation statement (within a ParsedBoxWrapper), but I cannot seem to get it there. I am happy passing either the original subsuperscript version or a string version of it. Are there any methods to do the conversion I am looking for? Thanks!
Edit to add requested specific detail:
I start with this:
<< Notation`
I then introduce a bunch of custom notation that doesn't figure in to the problem I am experiencing (I am generating a notation system that allows me to represent and manipulate chemical reactions using Chemistry-standard notation). After I set up the reaction arrow notation and several other components, I wish to have a streamlined method to assign labels for chemical species to internal variable/function names. I can do this manually one at a time like this:
But because this is a package I want my students to be able to use, I would prefer for them to not have to use the palettes. I would like to define a function for them to pass a list of pairs to, like this:
Or perhaps like this:
I have successfully done something similar in cases where I don't have the starred-superscript, so in those cases I am confident that I can write the AssignLabels function. For a single assignment (with two parameters rather than a list of ordered pairs), it would look something like this:
The problem is that while I can enter the and have it interpreted exactly as I need it to, as
SubsuperscriptBox["C", "60", "*"]
when I directly put it into the Notation palette box, when I assign it to a variable or pass it to a function, it gets interpreted into
SuperStar[(Subscript[C, 60])]
And if I try to maintain the structure by making it a string, I cannot find a set of function calls that will convert it back to the desired target.
Does that help clarify my question?