IPython中的物理bra-ket符号

时间:2013-11-02 12:00:36

标签: latex ipython physics

我正在尝试使用 ket 符号,该符号通常以乳胶编写为\ket{\psi}。但是,在$$ ... $$内编写时,这不起作用。使用IPython.display编写时,这也不起作用。

3 个答案:

答案 0 :(得分:2)

$ latex
** \documentclass{article}\usepackage{amsmath}\begin{document}
... chatter chatter ...
* \show\ket
> \ket=undefined.

所以你的\ket宏来自某些包或其他我不知道它是什么。这并不能解释为什么它在$$ ... $$中不起作用 - 你必须努力使它在显示数学中不起作用 - 但它确实解释了为什么它在IPython中不起作用:无论哪个这是没有在IPython的罐装TeX环境中加载的包(或者)IPython的TeX数学输入语言的模拟不包括这个宏。

这是一个合理的原始数学符号定义,它应该在显示模式下正常工作。我不知道你是否可以逐字地将它放入IPython中,但你至少应该能够在需要时写出扩展手册(例如$$ \left| \psi \right\rangle $$

\newcommand{\ket}[1]{\left|{#1}\right\rangle}
\newcommand{\bra}[1]{\left\langle{#1}\right|}

编辑:使用LaTeX首选接口定义宏,而不是原始\def

答案 1 :(得分:1)

IPython使用MathJax在笔记本中渲染LaTeX。 MathJax很棒,但只支持LaTeX的子集,因此存在一些限制。有关详细信息,请参阅MathJax homepage

@Zack提出的新命令可以正常工作。请注意,转换为LaTeX(nbconvert)时,此类自定义命令可能会导致一些问题。

答案 2 :(得分:0)

我能够扩展@zwol的答案来创建一个\ braket命令以及在Jupyter笔记本中使用:

$$\newcommand{\braket}[2]{\left\langle{#1}\middle|{#2}\right\rangle}$$
$$\braket{\Psi^*}{\Psi}$$

$$\braket{\frac{\Psi^*}{2}}{\Psi}$$

给予:

enter image description here