2011-10-08 52 views
3

伙计们,我在使用mathematica时遇到了一个奇怪的问题。正如你从附件截图中看到的那样,排版不知何故被解释为纯文本。mathematica在plot标签中没有正确显示SubsuperscriptBox

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

非常感谢! (我很困惑。实际上,它显示了正确的事,有时...)

enter image description here

+3

请...在这里复制并粘贴您的代码。围绕这种打字的人有许多懒惰的人。 (嘿!不要看着我!) –

+0

@belisarius还有一个问题涉及到嵌套分数框的类似解析问题。请尽量帮助我找到它。 –

+0

@Mr。对不起,我找不到它。 –

回答

5

与布雷特,我无法重现bug在两个版本7或8

然而,如果您在PlotLabel中使用数学,让Mathematica使用自己的排版来渲染它可能会更好。诀窍是HoldForm

例如:

Plot[x, {x, 0, 1}, 
    PlotLabel -> HoldForm[\[Eta][T]/Subsuperscript[\[Epsilon], 0,2][T]]] 

会产生

a plot

不论用于埃塔或ε的任何定义。


正如指出的布雷特,这其实不会在7.0.1版本不的工作,因为它似乎有在TraditionalForm一个错误,即把方括号在施工
Power[f,i][x]//TraditionalForm
周围的工作这是使用Superscript而不是Power

Power vs Subscript

同样在上述情节的分母,而不是使用
Power[Subscript[...]][T],用Subsuperscript[...][T]

Subsuperscript

这意味着您不能使用标准(键盘快捷键或调色板)2D input,因为使用此产生的SubsuperscriptBox被解释为Power[Subscript[...]]。我已经修复了上述图形的代码以反映这一点。

请注意,此TraditionalForm错误已被固定在数学版本8

+2

这让我想起我那个小侄子眼睛里充满了泪水,那天从幼儿园回来告诉他妈妈:我感到沮丧!我无法做得不够好! - :) –

+0

@belisarius :-D –

+2

当我在V7.0.1中尝试这个时,我在分母中得到方括号而不是括号。 –

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

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

我试着发表一个例子,但是错误的程度不够,以至于无法将表达式粘贴到原始格式中。我将不得不求助于仅仅包括我所看到的一张照片。尽管两条线看起来相似,但第二条线中的“e ”和“(T)”之间有空格。

在数学7.0.1:

enter image description here

这在某种程度上类似于Known issues with copying code from Mathematica to other platforms?两个错误应对FractionBox内 “2D” 的对象。

+0

哪个版本的Mma是这样的? – Simon

+0

@Simon 7.0.1 - 对不起,我在原始文章中加入了这个内容,但是我在修订版中遗漏了它。 –

+0

@Simon我知道有一个关于嵌套分数类似问题的问题没有正确解析。你能找到它吗? –