旧帖子,但它仍然在 Google 的顶部!这是我希望我早点理解的澄清:
Jupter Notebook Markdown
Jupyter Notebook“Markdown”单元格允许您在其中编写 HTML,并在大多数情况下按预期呈现 HTML。这与其他一些 Markdown 编辑器不同,在这些编辑器中,您只能使用非常有限的 HTML 子集,或者根本不使用 HTML。
为什么这对于 $ 字面量很重要
一个非常有用的方面是当您想要使用特殊字符的 literal 版本时,例如 $。这意味着,您希望 $ 出现在单元格的渲染版本中,而不是使用 $ 来启动 MathJax 块。
这超出了$ 的其他特殊字符。也许您希望* 出现在呈现的单元格中,而不是指示项目符号点或粗体/斜体文本。我很难想象 # 或 _ 或 [ 的用例,但您可能出于某种原因也想编写这些文字(不要用反引号将它们包围,导致它们被样式化就像我在这里的内联代码块一样)。
HTML 方法 1:创建 HTML 块
其他几个答案描述了用 HTML <span> 标记围绕$。这是在做什么(如果你没有像 this GitHub comment shows 这样在中间包含换行符)是告诉 Jupyter Notebook 不要再将内容解释为 Markdown,而是将其解释为 HTML。在 HTML 中,$ 并不意味着您正在启动一个 MathJax 块,因此它会按字面意思呈现。
我个人不喜欢这种方法,因为很难判断 span 正在解决什么问题,而且它使用 span 更像是一种 hack/workaround,而不是它在 HTML 规范中的使用方式。
HTML 方法 2:HTML 字符编码
这就是上面&#36; 的答案所暗示的,尽管我认为它没有得到充分的解释。
这里的想法是,不要将 $ 文字放在 Markdown 源代码中,而是将 HTML 字符代码版本 &#36; 代替。 Here 是对这些字符代码的更长解释,如果您好奇的话。但基本上你需要知道的是,如果你在编辑 Markdown 单元格的源代码时编写了相关的字符代码,它不会被解释为 Markdown,但它会正确呈现。
所以不是这个 Markdown 源:
The price range is $100 to $200
(将 100 to 渲染为 MathJax)
只需将$s 替换为&#36;s:
The price range is $100 to $200
(将按字面意思呈现美元符号)
我更喜欢这种方法,因为 HTML 字符编码的全部目的是转义特殊字符,因此如果将来有人试图了解您的代码在做什么,他们应该能够很快弄清楚。
我通常也尽量避免在我的 Jupyter Notebook Markdown 中使用 HTML 打开和关闭标签,因为小的拼写错误(比如忘记/)可能会产生令人困惑的级联影响,但您的里程可能会有所不同:)
如果您正在寻找$ 以外的字符代码,我喜欢this resource,尽管您也可以只搜索“HTML 代码”加上您想要的字符,大多数时候都能得到正确的答案。