如何在Mathematica文本中使用sub和superscript,例如:化学公式?

时间:2010-10-05 03:01:14

标签: wolfram-mathematica

这不是一个编程问题,但它是关于一个编程环境,所以希望不是太不合适。我需要能够在Mathematica文本中编写化学公式(这是关于文本,而不是输入/代码)。类似于: H 3 O + 。但Mathematica似乎无法做到这一点。如果您使用普通的子/上标函数,或点击Cntl-_或Cntl-6,它会使您处于“数学模式”,即使您在文本中,因此字母变为斜体,并在3之间放置一个空格和O.像这样: H 3 O + 。丑陋,尤其是化学药品更长。

Mathematica中的其他功能与普通文字处理器一样 - 您可以将字体设置为斜体,粗体,大,小,彩色 - 但字处理器中常见的下标和上标功能似乎缺失。

我错过了什么吗?我希望如此......

感谢,
罗布

2 个答案:

答案 0 :(得分:5)

您可以使用类似于LaTeX中使用的技巧来打印左侧的下标。这就是将下标放在没有宽度的对象上。

要输入数学模式,请键入Cntl-(并退出Cntl - 类型。)

将子和上标附加到⋮null⋮或⋮⋮或⋮ - ⋮(其中⋮=逃脱)

这是它的显示方式 - 与mathmode中的一些表达式相比: the chemical formula for hydronium is HSubscript[[Null], 3]O[Null]^+

我已将Cell Expression放在gist中。

答案 1 :(得分:4)

在ChemData中,Mathematica使用像

这样的结构
 Style[
     Row[
          {Subscript["H",3],Superscript["O","+"]}
        ],
          Rule[ScriptBaselineShifts,{0.5`,0.75`}]
      ]

示例:

alt text

HTH!