Markdown 单元格#

可以使用 Markdown 单元格将文本添加到 Jupyter Notebook 中。您可以使用 Cell 菜单、工具栏或快捷键 m 将单元格类型更改为 Markdown。Markdown 是一种流行的标记语言,它是 HTML 的超集。其规范可以在此处找到

https://daringfireball.net/projects/markdown/

Markdown 基础#

您可以通过用单个或双星号分别包围一段文本,使文本斜体粗体

您可以构建嵌套的项目符号或编号列表

    • 子列表

    • 子列表 - 那 - 另一件事

    • 子列表

    • 子列表

现在另一个列表

  1. 我们开始吧

    1. 子列表

    2. 子列表

  2. 我们到了

  3. 现在这个

您可以添加水平线


这是一个块引用

美丽胜于丑陋。明确胜于隐含。简单胜于复杂。复杂胜于复杂。扁平胜于嵌套。稀疏胜于密集。可读性很重要。特殊情况不足以打破规则。虽然实用性胜过纯洁。错误永远不应该默默地通过。除非明确地静音。在模棱两可的情况下,拒绝猜测的诱惑。应该有一种 - 而且最好只有一种 - 明显的方法来做到这一点。虽然这种方法一开始可能并不明显,除非你是荷兰人。现在胜过永远。虽然永远通常比现在更好。如果实现难以解释,那是一个坏主意。如果实现很容易解释,那可能是一个好主意。命名空间是一个很棒的主意 - 让我们做更多这样的事情!

以及链接的简写

Jupyter 的网站

您可以使用反斜杠  来生成文字字符,否则这些字符在 Markdown 语法中将具有特殊含义。

\*literal asterisks\*
 *literal asterisks*

使用双反斜杠   来生成文字 $ 符号。

标题#

您可以通过在一行开头使用一个(或多个)# 后跟一个空格来添加标题,如下例所示

# Heading 1
# Heading 2
## Heading 2.1
## Heading 2.2

嵌入代码#

您可以嵌入旨在说明而不是执行的 Python 代码

def f(x):
    """a docstring"""
    return x**2

或其他语言

for (i=0; i<n; i++) {
  printf("hello %d\n", i);
  x += 4;
}

LaTeX 方程#

借助 MathJax,您可以包含数学表达式,既可以是内联的:\(e^{i\pi} + 1 = 0\),也可以是显示的

\begin{equation} e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i \end{equation}

内联表达式可以通过用 $ 包围 LaTeX 代码来添加

$e^{i\pi} + 1 = 0$

单独一行的表达式用 \begin{equation}\end{equation} 包围

\begin{equation}
e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i
\end{equation}

GitHub 风格的 Markdown#

Notebook 网页应用支持 Github 风格的 Markdown,这意味着您可以使用三个反引号来创建代码块。

```python
print "Hello World"
```

```javascript
console.log("Hello World")
```

给出

print "Hello World"
console.log("Hello World")

以及像这样的表格

| This | is   |
|------|------|
|   a  | table|

一个漂亮的 HTML 表格

一个

表格

通用 HTML#

因为 Markdown 是 HTML 的超集,您甚至可以添加诸如 HTML 表格之类的元素。

标题 1

标题 2

行 1,单元格 1

行 1,单元格 2

行 2,单元格 1

行 2,单元格 2

本地文件#

如果您在 Notebook 目录中拥有本地文件,您可以在 Markdown 单元格中直接引用这些文件。

[subdirectory/]<filename>

例如,在 images 文件夹中,我们有 Python 徽标

<img src="../images/python_logo.svg" />

0d968119d9e24b18962e45da9879ba08

以及使用 HTML5 video 标签的视频

<video controls src="../images/animation.m4v">animation</video>

这些不会将数据嵌入到 Notebook 文件中,并且需要在您查看 Notebook 时文件存在。

本地文件的安全性#

请注意,这意味着 Jupyter Notebook 服务器也充当您笔记本相同树中文件的通用文件服务器。访问权限不会授予 Notebook 文件夹之外的区域,因此您可以严格控制哪些文件可见,但出于这个原因,强烈建议您不要在文件系统的高级位置(例如您的主目录)运行 Notebook 服务器。

当您以密码保护的方式运行 Notebook 时,本地文件访问权限将限制为经过身份验证的用户,除非启用只读视图。

Markdown 附件#

从 Jupyter Notebook 版本 5.0 开始,除了引用外部文件之外,您还可以将文件附加到 Markdown 单元格。为此,请在编辑 Markdown 单元格时将文件从其中拖动。

pycon-logo.jpg

文件存储在单元格元数据中,如果未引用,将在保存时自动清除。您可以通过以 attachment: 开头的 URL 来识别附加的图像和其他文件。对于上面的图像

![pycon-logo.jpg](attachment:pycon-logo.jpg)

请记住,附加的文件会增加 Notebook 的大小。

您可以使用 View > Cell Toolbar > Attachment 菜单手动编辑附件,但通常您不需要这样做。