【问题标题】:How to reference a equation cross cell in jupyter markdown如何在jupyter markdown中引用方程交叉单元格
【发布时间】:2021-08-21 10:47:50
【问题描述】:

在使用 jupyter notebook 时,如何跨单元格引用方程式?我找到了一种引用方式,但无法自动更新显示的数字。

$a=b+c \tag{*}\label{eq1}$

引用代码[1](#mjx-eqn-eq1) 显示为1。如何自动显示\tag{} 中的内容?

【问题讨论】:

    标签: jupyter-notebook markdown


    【解决方案1】:

    由于您创建了一个降价链接并将其命名为1,因此不会更新。一般来说,Jupyter 笔记本使用MathJax(LaTeX 的一个子集)来渲染方程。官方jupyter documentation 提供了更多信息,examples 据说:

    公式编号和引用将在 Jupyter 笔记本的未来版本中提供。

    虽然这句话已经很老了,但它似乎仍然有效。据我所知,有几个选项可以实现编号和引用。下面是一些例子:

    • MathJax 提供编号和链接。对我来说,它根本不起作用,可能是因为 jupyter 文档所说的。
    • 因此,我安装并激活了jupyter-contrib-nbextensions(正如其自述文件中所述)。
    • 现在我的方程式已编号(实际上已标记)并且参考将自动更新。但是,自动编号似乎存在问题,因为我还必须始终将数字定义为标签。这是一个例子:
        In equation \eqref{eq:sample}, we find the value of an
        interesting integral:
        
        \begin{equation}
          \int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15}
          \label{eq:sample} \tag{a}
        \end{equation}
    

    更改标签也会更新引用。根据文档,使用\label 只会产生一个自动编号的方程(如在 LaTeX 中),但这对我不起作用。也许我必须安装另一个扩展才能让它工作。

    【讨论】:

    • 感谢您的回答!我已经使用 jupyter-contrib-nbextensions 在一个单元格中实现自动更新标签。在 jupyter 中使用 markdown 编辑很长的文本时,总是不方便阅读,所以我习惯将整个文本拆分为不同的单元格。在这种情况下,我需要在其他单元格中引用方程。正如文件所说,可能还没有解决方案。也许我需要切换到另一个编辑应用程序。哦,用一个应用程序发短信和另一个应用程序编码,我会筋疲力尽地切换。
    • 确实,这似乎是个问题。你试过jupyter book吗?它的手册建议您可以从/向多个单元格引用
    猜你喜欢
    • 2017-11-16
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2018-10-20
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多