mathematica не показывает SubsuperscriptBox правильно в метке графика
Ребята, я столкнулся со странной проблемой при использовании mathematica. Как вы можете видеть из прилагаемого скриншота, набор текста каким-то образом интерпретируется как обычный текст.
Есть ли способ исправить это?
Большое спасибо! (Я так запуталась. Иногда это действительно показывает правильную вещь...)
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]
:Это означает, что вы не можете использовать стандартный (сочетания клавиш или палитру для) 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]]]