mathematica不会在绘图标签中正确显示SubsuperscriptBox

nos*_*nos 3 plot wolfram-mathematica typesetting legend

伙计们,我在使用mathematica时遇到了一个奇怪的问题.从附带的屏幕截图中可以看出,排版以某种方式被解释为纯文本.

有没有办法来解决这个问题?

非常感谢!(我很困惑.它有时显示正确的东西......)

在此输入图像描述

Mr.*_*ard 7

可以观察到这个问题超出了PlotLabel的范围.它还会影响上标和下标.避免该问题的一种方法是在子/上标对象和相邻符号之间插入空格.

我试图发布一个例子,但是错误的程度很低,以至于无法以原始形式粘贴表达式.我将不得不求助于仅仅包括我所看到的图片.尽管两条线看起来相似,但在第二条线中"e 2 "和"(T)" 之间存在空格.

在Mathematica 7.0.1中:

在此输入图像描述

这有点类似于将代码从Mathematica复制到其他平台的已知问题?因为这两个bug都处理一个内部的"2D"对象FractionBox.


Bre*_*ion 6

我可以使用V7.0.1重现这一点,但不能使用V8.0.1.

我发现最简单的解决方法是使用单独的字符串为分子和分母构造分数.

您也可以采用排版方法而不是使用字符串:

Format[\[Epsilon][x_, sub_, sup_], TraditionalForm] := 
 Subsuperscript[\[Epsilon], sub, sup][x]

Graphics[{}, PlotLabel -> Style[Gamma[T]/\[Epsilon][T, 0, 2]]]
Run Code Online (Sandbox Code Playgroud)


Sim*_*mon 5

与Brett不同,我无法在版本7或8中重现该错误.

但是,如果您正在使用数学PlotLabel,那么让Mathematica使用自己的排版来渲染它可能会更好.诀窍是HoldForm

例如:

Plot[x, {x, 0, 1}, 
  PlotLabel -> HoldForm[\[Eta][T]/Subsuperscript[\[Epsilon], 0,2][T]]]
Run Code Online (Sandbox Code Playgroud)

会产生

剧情

与Eta或Epsilon的任何定义无关.


正如布雷特指出,这其实并不在7.0.1版本中运行,因为它似乎有一个缺陷TraditionalForm,那放在方括号在施工
Power[f,i][x]//TraditionalForm.
解决这个问题的方法是使用Superscript而不是Power:

权力与下标

类似地,对于上图中的分母,而不是使用
Power[Subscript[...]][T],使用Subsuperscript[...][T]:

Subsuperscript

这意味着您不能使用标准(键盘快捷键或调色板)2D输入,因为使用SubsuperscriptBox它生成的那个被解释为 Power[Subscript[...]].我修复了上面图形的代码以反映这一点.

请注意,此TraditionalForm错误已在Mathematica版本8中修复.

  • 这让我想起了我的小侄子,眼睛里满是泪水,前几天告诉他的母亲,从幼儿园回来: - 我感到很沮丧!我不能行为不好! - :) (2认同)
  • 当我在V7.0.1中尝试这个时,我在分母中得到方括号而不是括号. (2认同)