Jupyter笔记本中的公式编号

mat*_*usc 17 python jupyter-notebook

事实是,在官方文档Jupyter -激励的例子代表

公式编号和参考将在未来版本的Jupyter笔记本中提供.

我知道有很多关于这个话题的讨论.有些人声称通过一些解决方法解决了这个问题.

但是对于普通用户来说,很难理解变通方法,或者黑客真正有多脏/有用.

所以我的问题是:

  1. 什么意思是"未来版本可用"?它是否意味着像"新月/年"之类的东西,或者"可能永远不会因为它太不可能"之类的东西?

  2. 如果互联网上提供的任何变通办法对人类消费安全吗?我的意思是值得吗?因为可以使用Sphinx或其他东西来创建教程,所以会有更多的工作,但实现一些黑客,安装插件等会更多的工作?

注意:对于某人来说,这似乎是一个需要基于意见的答案的问题,但我很确定它不是.任何建议都可以帮助我(或其他用户)做出好/坏的决定.

cal*_*rus 19

这是一个工作示例,要在降价单元格中输入:

\begin{equation*}
\mathbf{r} \equiv \begin{bmatrix}
y \\
\theta
\end{bmatrix}
\label{eq:vector_ray} \tag{1}
\end{equation*}

Vector **r** is defined by equation $\eqref{eq:vector_ray}$
Run Code Online (Sandbox Code Playgroud)

这是不言自明的,但这里有一些细节:

\label : 描述方程的名称

\tag : 出现在方程旁边的标签可以是数字或字母

\eqref : 参考标注方程

这将显示为: 在此处输入图片说明

  • 这似乎仅在 eqref 与标签位于同一单元格中时才有效 - 有什么办法让它在整个笔记本上工作? (4认同)

Dav*_*son 17

我相信基本上所有与这个问题相关的信息都可以在这个长期的Github问题线程中找到.

那里的谈话一直持续(此时)3.5年,仍然活跃.重要亮点:

  • 您可以通过执行具有以下内容的单元格来简单地打开编号:

    %%javascript
    MathJax.Hub.Config({
        TeX: { equationNumbers: { autoNumber: "AMS" } }
    });
    
    Run Code Online (Sandbox Code Playgroud)
  • 方程编号有一个扩展名.

  • 开发人员minrk建议这个扩展是正确的方法,可以合并到master(但默认情况下关闭功能).

通过pip以下方式安装扩展:

pip install jupyter_contrib_nbextensions
Run Code Online (Sandbox Code Playgroud)

要通过Anaconda安装扩展程序:

conda install -c conda-forge jupyter_contrib_nbextensions 
Run Code Online (Sandbox Code Playgroud)

使用上面提供的其中一种安装方式后,启用扩展程序:

jupyter contrib nbextension install --user
jupyter nbextension enable equation-numbering/main
Run Code Online (Sandbox Code Playgroud)

  • 有关用法示例,请参阅 David 的链接扩展。 (3认同)
  • 它工作得很好。但是如何在不同的单元格中引用方程呢?$\ref{label}$ 似乎不起作用。 (2认同)