Latex IPython中的物理符号
我正在尝试使用ket符号,该符号通常用latex写成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{\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}$$