【问题标题】:Physics bra-ket symbols in IPythonIPython中的物理括号符号
【发布时间】:2013-11-02 12:00:35
【问题描述】:

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

【问题讨论】:

    标签: latex ipython physics


    【解决方案1】:
    $ 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

    【讨论】:

    • 这确实是一个方便的快速修复。非常感谢。
    【解决方案2】:

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

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

    给:

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 明白了。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多