【发布时间】:2013-11-02 12:00:35
【问题描述】:
我正在尝试使用通常用乳胶写成\ket{\psi} 的 ket 符号。但是,这在$$ ... $$ 中编写时不起作用。这在使用IPython.display 编写时也不起作用。
【问题讨论】:
我正在尝试使用通常用乳胶写成\ket{\psi} 的 ket 符号。但是,这在$$ ... $$ 中编写时不起作用。这在使用IPython.display 编写时也不起作用。
【问题讨论】:
$ latex
** \documentclass{article}\usepackage{amsmath}\begin{document}
... chatter chatter ...
* \show\ket
> \ket=undefined.
所以你的\ket 宏来自某个我不知道它是什么的包或其他包。这并不能解释为什么它在 $$ ... $$ 中不起作用——你必须努力让事情在显示数学中不起作用——但它确实解释了为什么它在 IPython 中不起作用:无论哪个包is 未在 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。
【讨论】:
IPython 使用 MathJax 在笔记本中渲染 LaTeX。 MathJax 很棒,但只支持 LaTeX 的一个子集,因此存在一些限制。有关详细信息,请参阅MathJax homepage。
@Zack 提出的新命令可以正常工作。请注意,在转换为 LaTeX (nbconvert) 时,此类自定义命令可能会导致一些问题。
【讨论】: