Unitalicizing a label with a sub/superscript
Clash Royale CLAN TAG#URR8PPP
up vote
7
down vote
favorite
I need to use a sub/superscript to label the x-axis variable on the horizontal axis of my plot.
Mathematica returns the variable as italicized, but only the $x^2$ needs to be italicized, but not the subscript $g$.
I tried using both Subsuperscript and with the control+6 and _, but both yielded the same results.
Code:
ListPlot[1, 4, 5, Frame -> True,
FrameLabel -> (
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])",
"y"
)]
Corresponding plot:
plotting formatting
add a comment |Â
up vote
7
down vote
favorite
I need to use a sub/superscript to label the x-axis variable on the horizontal axis of my plot.
Mathematica returns the variable as italicized, but only the $x^2$ needs to be italicized, but not the subscript $g$.
I tried using both Subsuperscript and with the control+6 and _, but both yielded the same results.
Code:
ListPlot[1, 4, 5, Frame -> True,
FrameLabel -> (
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])",
"y"
)]
Corresponding plot:
plotting formatting
add a comment |Â
up vote
7
down vote
favorite
up vote
7
down vote
favorite
I need to use a sub/superscript to label the x-axis variable on the horizontal axis of my plot.
Mathematica returns the variable as italicized, but only the $x^2$ needs to be italicized, but not the subscript $g$.
I tried using both Subsuperscript and with the control+6 and _, but both yielded the same results.
Code:
ListPlot[1, 4, 5, Frame -> True,
FrameLabel -> (
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])",
"y"
)]
Corresponding plot:
plotting formatting
I need to use a sub/superscript to label the x-axis variable on the horizontal axis of my plot.
Mathematica returns the variable as italicized, but only the $x^2$ needs to be italicized, but not the subscript $g$.
I tried using both Subsuperscript and with the control+6 and _, but both yielded the same results.
Code:
ListPlot[1, 4, 5, Frame -> True,
FrameLabel -> (
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])",
"y"
)]
Corresponding plot:
plotting formatting
plotting formatting
edited yesterday


m_goldberg
81.8k869190
81.8k869190
asked yesterday
wiscoYogi
561
561
add a comment |Â
add a comment |Â
4 Answers
4
active
oldest
votes
up vote
5
down vote
I'm adding this answer because I think it is the simplest solution.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[x, g, 2], y]
Edit
Johu has a raised a valid issue in his comment. Here is a solution that addresses it.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[Style["x", "TI"], Style["g", "TR"], "2"], "y"]
If someone asks where the mystical "TI"
and "TR"
styles come from: They are heavily used in the reference pages. So if you see something like this in the documentation
you can use Ctrl+Shift+E to see the underlying box-expression and you will note that the same style-definitions are used.
Note
Quite a lot of information on named styles such "TR"
can be found on this page
-1 as g is still italic?
– Johu
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Now it is a really over-complicated solution."TR"
does the same asFontSlant -> "Plain"
which does nothing to solve this problem. Making subscript toString
is what makes the difference and it also makes sense semantically.
– Johu
yesterday
For exampleTraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.
– Johu
yesterday
 |Â
show 2 more comments
up vote
4
down vote
In my opinion, it is better to avoid linear syntax strings (the kind of strings you get when you apply 2D typesetting structures inside of a string) and instead just use expressions. So, I like this:
Superscript[Subscript[x, g], 2]
instead of:
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])"
Now, the reason that some characters get italicized is because by default ListPlot
renders labels in TraditionalForm
, and TraditionalForm
uses the option SingleLetterItalics
->True
. So, to avoid having g
italicized, you could override this with:
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
or:
FrameLabel -> Superscript[Subscript[x, "g"], 2], y
where the latter works because "g" is not a single letter symbol.
Visualization:
ListPlot[
1, 4, 5,
Frame -> True,
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
]
add a comment |Â
up vote
3
down vote
ListPlot[1, 4, 5, Frame -> True, ImageSize -> Tiny,
FrameLabel -> (Subsuperscript[x, "g", 2], "y")]~Magnify~3
I think it happens because StandardForm
for output plots has TraditionalForm
applied to it. TraditionalForm
formats differently String
-s and Symbol
-s. Example:
Magnify[Subsuperscript["x", "g", 2] // TraditionalForm, 2]
Magnify[Subsuperscript[x, "g", 2] // TraditionalForm, 2]
add a comment |Â
up vote
2
down vote
That's also a typical usage case for the MaTeX-package by Szabolcs:
Needs["MaTeX`"]
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> (MaTeX["x_\mathrmg^2"], MaTeX["y"])
]
1
Latexoperatorname
has a different semantical meaning.mathrm
ortext
fromamsmath
would be more precise.
– Johu
yesterday
1
Good point although I would avoidtext
for subscripts becausetextit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.
– Henrik Schumacher
yesterday
add a comment |Â
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
I'm adding this answer because I think it is the simplest solution.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[x, g, 2], y]
Edit
Johu has a raised a valid issue in his comment. Here is a solution that addresses it.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[Style["x", "TI"], Style["g", "TR"], "2"], "y"]
If someone asks where the mystical "TI"
and "TR"
styles come from: They are heavily used in the reference pages. So if you see something like this in the documentation
you can use Ctrl+Shift+E to see the underlying box-expression and you will note that the same style-definitions are used.
Note
Quite a lot of information on named styles such "TR"
can be found on this page
-1 as g is still italic?
– Johu
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Now it is a really over-complicated solution."TR"
does the same asFontSlant -> "Plain"
which does nothing to solve this problem. Making subscript toString
is what makes the difference and it also makes sense semantically.
– Johu
yesterday
For exampleTraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.
– Johu
yesterday
 |Â
show 2 more comments
up vote
5
down vote
I'm adding this answer because I think it is the simplest solution.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[x, g, 2], y]
Edit
Johu has a raised a valid issue in his comment. Here is a solution that addresses it.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[Style["x", "TI"], Style["g", "TR"], "2"], "y"]
If someone asks where the mystical "TI"
and "TR"
styles come from: They are heavily used in the reference pages. So if you see something like this in the documentation
you can use Ctrl+Shift+E to see the underlying box-expression and you will note that the same style-definitions are used.
Note
Quite a lot of information on named styles such "TR"
can be found on this page
-1 as g is still italic?
– Johu
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Now it is a really over-complicated solution."TR"
does the same asFontSlant -> "Plain"
which does nothing to solve this problem. Making subscript toString
is what makes the difference and it also makes sense semantically.
– Johu
yesterday
For exampleTraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.
– Johu
yesterday
 |Â
show 2 more comments
up vote
5
down vote
up vote
5
down vote
I'm adding this answer because I think it is the simplest solution.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[x, g, 2], y]
Edit
Johu has a raised a valid issue in his comment. Here is a solution that addresses it.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[Style["x", "TI"], Style["g", "TR"], "2"], "y"]
If someone asks where the mystical "TI"
and "TR"
styles come from: They are heavily used in the reference pages. So if you see something like this in the documentation
you can use Ctrl+Shift+E to see the underlying box-expression and you will note that the same style-definitions are used.
Note
Quite a lot of information on named styles such "TR"
can be found on this page
I'm adding this answer because I think it is the simplest solution.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[x, g, 2], y]
Edit
Johu has a raised a valid issue in his comment. Here is a solution that addresses it.
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> Subsuperscript[Style["x", "TI"], Style["g", "TR"], "2"], "y"]
If someone asks where the mystical "TI"
and "TR"
styles come from: They are heavily used in the reference pages. So if you see something like this in the documentation
you can use Ctrl+Shift+E to see the underlying box-expression and you will note that the same style-definitions are used.
Note
Quite a lot of information on named styles such "TR"
can be found on this page
edited yesterday
answered yesterday


m_goldberg
81.8k869190
81.8k869190
-1 as g is still italic?
– Johu
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Now it is a really over-complicated solution."TR"
does the same asFontSlant -> "Plain"
which does nothing to solve this problem. Making subscript toString
is what makes the difference and it also makes sense semantically.
– Johu
yesterday
For exampleTraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.
– Johu
yesterday
 |Â
show 2 more comments
-1 as g is still italic?
– Johu
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Now it is a really over-complicated solution."TR"
does the same asFontSlant -> "Plain"
which does nothing to solve this problem. Making subscript toString
is what makes the difference and it also makes sense semantically.
– Johu
yesterday
For exampleTraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.
– Johu
yesterday
-1 as g is still italic?
– Johu
yesterday
-1 as g is still italic?
– Johu
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
@Johu. Valid point. I have addressed it in an edit to the answer
– m_goldberg
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Thank you all!! :) Greatly appreciate it!
– wiscoYogi
yesterday
Now it is a really over-complicated solution.
"TR"
does the same as FontSlant -> "Plain"
which does nothing to solve this problem. Making subscript to String
is what makes the difference and it also makes sense semantically.– Johu
yesterday
Now it is a really over-complicated solution.
"TR"
does the same as FontSlant -> "Plain"
which does nothing to solve this problem. Making subscript to String
is what makes the difference and it also makes sense semantically.– Johu
yesterday
For example
TraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.– Johu
yesterday
For example
TraditionalForm[Style[Subscript[x, g], FontSlant -> Plain]]
gives still italic text.– Johu
yesterday
 |Â
show 2 more comments
up vote
4
down vote
In my opinion, it is better to avoid linear syntax strings (the kind of strings you get when you apply 2D typesetting structures inside of a string) and instead just use expressions. So, I like this:
Superscript[Subscript[x, g], 2]
instead of:
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])"
Now, the reason that some characters get italicized is because by default ListPlot
renders labels in TraditionalForm
, and TraditionalForm
uses the option SingleLetterItalics
->True
. So, to avoid having g
italicized, you could override this with:
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
or:
FrameLabel -> Superscript[Subscript[x, "g"], 2], y
where the latter works because "g" is not a single letter symbol.
Visualization:
ListPlot[
1, 4, 5,
Frame -> True,
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
]
add a comment |Â
up vote
4
down vote
In my opinion, it is better to avoid linear syntax strings (the kind of strings you get when you apply 2D typesetting structures inside of a string) and instead just use expressions. So, I like this:
Superscript[Subscript[x, g], 2]
instead of:
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])"
Now, the reason that some characters get italicized is because by default ListPlot
renders labels in TraditionalForm
, and TraditionalForm
uses the option SingleLetterItalics
->True
. So, to avoid having g
italicized, you could override this with:
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
or:
FrameLabel -> Superscript[Subscript[x, "g"], 2], y
where the latter works because "g" is not a single letter symbol.
Visualization:
ListPlot[
1, 4, 5,
Frame -> True,
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
]
add a comment |Â
up vote
4
down vote
up vote
4
down vote
In my opinion, it is better to avoid linear syntax strings (the kind of strings you get when you apply 2D typesetting structures inside of a string) and instead just use expressions. So, I like this:
Superscript[Subscript[x, g], 2]
instead of:
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])"
Now, the reason that some characters get italicized is because by default ListPlot
renders labels in TraditionalForm
, and TraditionalForm
uses the option SingleLetterItalics
->True
. So, to avoid having g
italicized, you could override this with:
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
or:
FrameLabel -> Superscript[Subscript[x, "g"], 2], y
where the latter works because "g" is not a single letter symbol.
Visualization:
ListPlot[
1, 4, 5,
Frame -> True,
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
]
In my opinion, it is better to avoid linear syntax strings (the kind of strings you get when you apply 2D typesetting structures inside of a string) and instead just use expressions. So, I like this:
Superscript[Subscript[x, g], 2]
instead of:
"!(*SuperscriptBox[SubscriptBox[(x), (g)], (2)])"
Now, the reason that some characters get italicized is because by default ListPlot
renders labels in TraditionalForm
, and TraditionalForm
uses the option SingleLetterItalics
->True
. So, to avoid having g
italicized, you could override this with:
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
or:
FrameLabel -> Superscript[Subscript[x, "g"], 2], y
where the latter works because "g" is not a single letter symbol.
Visualization:
ListPlot[
1, 4, 5,
Frame -> True,
FrameLabel -> Superscript[Subscript[x, Style[g, Plain]], 2], y
]
answered yesterday


Carl Woll
56.4k272147
56.4k272147
add a comment |Â
add a comment |Â
up vote
3
down vote
ListPlot[1, 4, 5, Frame -> True, ImageSize -> Tiny,
FrameLabel -> (Subsuperscript[x, "g", 2], "y")]~Magnify~3
I think it happens because StandardForm
for output plots has TraditionalForm
applied to it. TraditionalForm
formats differently String
-s and Symbol
-s. Example:
Magnify[Subsuperscript["x", "g", 2] // TraditionalForm, 2]
Magnify[Subsuperscript[x, "g", 2] // TraditionalForm, 2]
add a comment |Â
up vote
3
down vote
ListPlot[1, 4, 5, Frame -> True, ImageSize -> Tiny,
FrameLabel -> (Subsuperscript[x, "g", 2], "y")]~Magnify~3
I think it happens because StandardForm
for output plots has TraditionalForm
applied to it. TraditionalForm
formats differently String
-s and Symbol
-s. Example:
Magnify[Subsuperscript["x", "g", 2] // TraditionalForm, 2]
Magnify[Subsuperscript[x, "g", 2] // TraditionalForm, 2]
add a comment |Â
up vote
3
down vote
up vote
3
down vote
ListPlot[1, 4, 5, Frame -> True, ImageSize -> Tiny,
FrameLabel -> (Subsuperscript[x, "g", 2], "y")]~Magnify~3
I think it happens because StandardForm
for output plots has TraditionalForm
applied to it. TraditionalForm
formats differently String
-s and Symbol
-s. Example:
Magnify[Subsuperscript["x", "g", 2] // TraditionalForm, 2]
Magnify[Subsuperscript[x, "g", 2] // TraditionalForm, 2]
ListPlot[1, 4, 5, Frame -> True, ImageSize -> Tiny,
FrameLabel -> (Subsuperscript[x, "g", 2], "y")]~Magnify~3
I think it happens because StandardForm
for output plots has TraditionalForm
applied to it. TraditionalForm
formats differently String
-s and Symbol
-s. Example:
Magnify[Subsuperscript["x", "g", 2] // TraditionalForm, 2]
Magnify[Subsuperscript[x, "g", 2] // TraditionalForm, 2]
edited yesterday
answered yesterday
Johu
2,716829
2,716829
add a comment |Â
add a comment |Â
up vote
2
down vote
That's also a typical usage case for the MaTeX-package by Szabolcs:
Needs["MaTeX`"]
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> (MaTeX["x_\mathrmg^2"], MaTeX["y"])
]
1
Latexoperatorname
has a different semantical meaning.mathrm
ortext
fromamsmath
would be more precise.
– Johu
yesterday
1
Good point although I would avoidtext
for subscripts becausetextit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.
– Henrik Schumacher
yesterday
add a comment |Â
up vote
2
down vote
That's also a typical usage case for the MaTeX-package by Szabolcs:
Needs["MaTeX`"]
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> (MaTeX["x_\mathrmg^2"], MaTeX["y"])
]
1
Latexoperatorname
has a different semantical meaning.mathrm
ortext
fromamsmath
would be more precise.
– Johu
yesterday
1
Good point although I would avoidtext
for subscripts becausetextit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.
– Henrik Schumacher
yesterday
add a comment |Â
up vote
2
down vote
up vote
2
down vote
That's also a typical usage case for the MaTeX-package by Szabolcs:
Needs["MaTeX`"]
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> (MaTeX["x_\mathrmg^2"], MaTeX["y"])
]
That's also a typical usage case for the MaTeX-package by Szabolcs:
Needs["MaTeX`"]
ListPlot[1, 4, 5,
Frame -> True,
FrameLabel -> (MaTeX["x_\mathrmg^2"], MaTeX["y"])
]
edited yesterday
answered yesterday


Henrik Schumacher
37.5k249107
37.5k249107
1
Latexoperatorname
has a different semantical meaning.mathrm
ortext
fromamsmath
would be more precise.
– Johu
yesterday
1
Good point although I would avoidtext
for subscripts becausetextit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.
– Henrik Schumacher
yesterday
add a comment |Â
1
Latexoperatorname
has a different semantical meaning.mathrm
ortext
fromamsmath
would be more precise.
– Johu
yesterday
1
Good point although I would avoidtext
for subscripts becausetextit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.
– Henrik Schumacher
yesterday
1
1
Latex
operatorname
has a different semantical meaning. mathrm
or text
from amsmath
would be more precise.– Johu
yesterday
Latex
operatorname
has a different semantical meaning. mathrm
or text
from amsmath
would be more precise.– Johu
yesterday
1
1
Good point although I would avoid
text
for subscripts because textit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.– Henrik Schumacher
yesterday
Good point although I would avoid
text
for subscripts because textit$x_textg$
would be again in italics -- and theorems are usually typeset in italics.– Henrik Schumacher
yesterday
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f181721%2funitalicizing-a-label-with-a-sub-superscript%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password