mathematica не показывает SubsuperscriptBox правильно в метке графика


Ребята, я столкнулся со странной проблемой при использовании mathematica. Как вы можете видеть из прилагаемого скриншота, набор текста каким-то образом интерпретируется как обычный текст.

Есть ли способ исправить это?

Большое спасибо! (Я так запуталась. Иногда это действительно показывает правильную вещь...)

Введите описание изображения здесь

3 3

3 ответа:

В отличие от Бретта, я не смог воспроизвести ошибку ни в версии 7, ни в версии 8.

Однако, если вы используете математику в PlotLabel, вероятно, лучше позволить Mathematica визуализировать ее с помощью собственного набора текста. Фокус в том, что HoldForm

Например:

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

Произведет

сюжет

Независимо от каких-либо определений для 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.

Можно заметить, что эта проблема выходит за рамки PlotLabel. Это также влияет на надстрочные и подстрочные индексы. Один из способов избежать этой проблемы-вставить пробел между объектом sub / superscript и смежным символом.

Я попытался опубликовать пример, но ошибка настолько низка, что вставить выражение в исходном виде невозможно. Мне придется прибегнуть к простому включению изображения того, что я вижу. Хотя эти две линии кажутся похожими, существует пространство между "Е2" и "(Т) " во втором.

В Mathematica 7.0.1:

Введите описание изображения здесь

Это чем-то похоже на известные проблемы с копированием кода с Mathematica на другие платформы? в том, что оба бага имеют дело с " 2D " объектами внутри FractionBox.

Я могу воспроизвести это с 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]]]