繁体   English   中英

我可以在markdown / Latex中创建可链接的标签吗? (Jupyter笔记本)

[英]Can I make tags in markdown/Latex linkable? (Jupyter Notebook)

我有一个Jupyter笔记本,并且我的单元格包含如下标记:

\begin{align}
0 + S(a) &= S(0 + a) \tag{by definition of addition} \\
         &= S(a) \tag{by induction hypothesis}
\end{align}

我希望某些标签是可单击的,以便它们跳转到相应的部分。 例如我试过

\tag{[by definition of addition](#def_addition)}

除了\\href\\url\u003c/code> , <a href=等,它们都作为文本的一部分呈现,而不是作为可单击的超链接处理。

是否不支持此类操作?是否有解决方法?

原来,已经有一个答案涉及如何在Jupyter中发出\\usepackage语句。 但是,现在我详细阅读了它,实际上它涵盖了如何在将笔记本转换为实际的乳胶文件的过程中向笔记本添加\\usepackage指令。 这并不是您真正想要的,但它可能是您可以做的最好的事情。

因此,要使用他们的解决方案,您的工作流程将如下所示:

  • 写一个同时包含乳胶(markdown,确实)和python单元的笔记本
    • 根据需要添加标签(最终将成为链接)
  • 通过执行所有python代码生成输出
  • 使用以上答案中描述的技巧将最终结果转换为静态乳胶文件,以添加hyperref包

最终结果将是一个.pdf ,其中包含Markdown单元格中的所有乳胶以及笔记本中python单元格中的所有源和输出。 当然,明显的缺点是它将无法直接执行python源。

你猜怎么了? 尽管我早先对此表示怀疑,但事实证明,您实际上可以将Markdown单元中的方程式链接到笔记本中的任何其他Markdown单元。 我提出了两种方法。 它们都涉及一些权衡,并且都是肮脏的骇客,因此您可能还可以从我的其他答案中获得更好的收益,但是这里有:

交换\\eqref\\tag

首先,用\\eqref替换方程式中的\\tag命令:

\begin{align}
0 + S(a) &= S(0 + a) \quad\quad\quad\quad \eqref{dadd} \\
         &= S(a) \quad\quad\quad\quad \eqref{ihop}
\end{align}

请注意,如上例所示,您必须使用\\quad或其他有效的乳胶数学模式空白之一添加自己的间距。

完成后,将组合标签/标签添加到笔记本中的任何其他降价单元:

$$\label{dadd}\tag{by definition of addition}$$

包含加法和

$$\label{ihop}\tag{by induction hypothesis}$$

保持归纳假设的单元格中的某个位置。

在一起,这将为看起来像标签的方程式添加链接。 \\eqref宏的内容应与相应的\\label的内容匹配,但是显示的链接文本将与标记的内容匹配。

这是在线活动笔记本的链接 ,最后一个单元格中有一些\\eqref链接示例

另一个警告:要获得渲染链接,您必须保存笔记本并重新加载运行它的浏览器,可能至少要几次。

\\tag替换为html链接,并使用$...$代替align

如果您只是使用美元符号定界符(即$<your-math-here>$ )调用常规的内联$<your-math-here>$ ,则无需在align环境中包装方程式,然后可以将每行末尾的\\tags替换为使用[]()语法的markdown html链接:

$\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad 0 + S(a) = S(0 + a) \qquad\qquad\qquad\qquad$ [(by definition of addition)](#dadd)
$\;\quad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad = S(a) \qquad\qquad\qquad\qquad\quad$ [(by induction hypothesis)](#ihop)

如您所见,这种方法的最大缺点是您必须自己做所有间距,包括简单的对齐过程。 您可能还会发现,使用内联mathmode渲染方程式的方式不如使用display mathmode渲染方程式的方式(如align )更具吸引力。 从好的方面来说,笔记本中的html链接似乎受到更多的支持/更强大,并且您无需重新加载即可呈现它们。

链接端点的语法如下:

<a id='dadd'></a>

这是在线活动笔记本另一个链接 ,在最后一个单元格中有一些示例html方程链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM