Latex IPython中的物理符号

Latex IPython中的物理符号,latex,ipython,physics,Latex,Ipython,Physics,我正在尝试使用ket符号,该符号通常用latex写成\ket{\psi}。但是,在$$中编写时,这不起作用$$。当使用IPython.display编写时,这也不起作用 $ latex ** \documentclass{article}\usepackage{amsmath}\begin{document} ... chatter chatter ... * \show\ket > \ket=undefined. 因此,您的\ket宏来自某个包或其他包,我不知道它是什么。这并不能解释为

我正在尝试使用ket符号,该符号通常用latex写成
\ket{\psi}
。但是,在
$$中编写时,这不起作用$$。当使用
IPython.display编写时,这也不起作用

$ latex
** \documentclass{article}\usepackage{amsmath}\begin{document}
... chatter chatter ...
* \show\ket
> \ket=undefined.
因此,您的
\ket
宏来自某个包或其他包,我不知道它是什么。这并不能解释为什么它在
$$中不起作用$$--您必须努力使它在显示数学中不起作用--但它确实解释了为什么它在IPython中不起作用:无论这是哪个包没有加载到IPython的罐装TeX环境(或IPython对TeX数学输入语言的模拟)中,都不包括此宏

这里有一个关于基本数学符号的合理定义,它在显示模式下应该可以正常工作。我不知道您是否可以将其逐字输入IPython,但您至少应该能够在需要时直接写出扩展(例如
$\left | \psi\right\rangle$$


编辑:使用LaTeX首选界面定义宏,而不是原语
\def

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


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

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

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

$$\braket{\frac{\Psi^*}{2}}{\Psi}$$
给出:


这确实是一个方便快捷的解决方法。非常感谢,明白了。非常感谢。
$$\newcommand{\braket}[2]{\left\langle{#1}\middle|{#2}\right\rangle}$$
$$\braket{\Psi^*}{\Psi}$$

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