2.5. Markdown 单元格

d2lbook 在 Jupyter 对 Markdown 的常规支持之外还提供了额外功能。

2.5.1. 目录

你可以使用 toc 代码块来指定目录。其中,:maxdepth: 2 表示显示两级文件,而 :numbered: 表示为每个章节添加编号(默认不启用)。另请注意,你不需要指定文件扩展名。

```toc
:maxdepth: 2
:numbered:

guide/index
```

2.5.2. 图像

我们可以将图像标题放在 [] 中。此外,我们可以使用 :width: 及其值来以内联块的方式指定图像宽度,同样地,使用 :height: 指定高度。

![Estimating the length of a foot](../img/koebel.jpg)
:width:`400px`
../_images/koebel.jpg

图 2.5.1 估算脚的长度

2.5.2.1. SVG 图像

我们建议你尽可能多地使用 SVG 图像。它显示清晰且文件大小很小。但由于 Latex 不支持 SVG 图像,如果你想构建 PDF 输出,你需要安装 rsvg-convert。在 macOS 上,你可以简单地执行 brew install librsvg,或在 Ubuntu 上执行 sudo apt-get install librsvg2-bin

../_images/lstm.svg

图 2.5.2 SVG 格式的 LSTM 单元

2.5.3. 表格

你可以在表格前插入表格标题,标题以 : 开头。注意,你需要在标题和表格本身之间留一个空行。

: The number is computed by $z_{ij} = \sum_{k}x_{ik}y_{kj}$.

| Year | Number | Comment |
| ---  | --- | --- |
| 2018 | 100 | Good year |
| 2019 | 200 | Even better, add something to make this column wider |

年份

数量

备注

2018

100

好年份

2019

200

更好,加点内容让这列更宽

表:该数字由 \(z_{ij} = \sum_{k}x_{ik}y_{kj}\) 计算得出。

如果表格标题编号没有正确显示,你可能需要将 pandoc 更新到最新版本。

2.5.4. 交叉引用

在书中我们经常需要引用章节、图、表和公式。

2.5.4.1. 引用章节

我们可以在章节标题后立即放置一个标签,以便通过其标签引用该章节。标签格式为 :label: 后跟其标签名,放在一个内联代码块中。

### Referencing Sections
:label:`my_sec3`

然后我们可以通过 :ref: 后跟标签名在一个内联代码块中引用该章节。

:ref:`my_sec3` demonstrates how to reference a section.

引用章节 演示了如何引用一个章节。

注意它会显示被引用章节的标题,并带有一个可点击的链接。我们也可以通过将 :ref: 改为 :numref: 来使用带编号的版本,例如 2.5.4.1 节

如果标签不正确,比如说我们在这里放了 my_sec2,构建日志将包含一个警告,例如

WARNING: undefined label: my_sec2

你可以通过在 config.ini 中设置 warning_is_error = True 将其转为错误。

此外,我们也可以交叉引用其他文件中的标签,例如 2.6 节。这也适用于图、表和公式。

2.5.4.2. 引用图像

同样地,我们可以为一个图像添加标签,并在之后引用它。

![A nice image with a cat and a dog.](../img/catdog.jpg)
:width:`300px`
:label:`img_catdog`

As can be seen from :numref:`img_catdog`,
../_images/catdog.jpg

图 2.5.3 一张有一只猫和一只狗的漂亮图片。

图 2.5.3 中可以看出,有一只猫和一只狗。

2.5.4.3. 引用表格

:This a is very long table caption. It will breaks into several lines. And
contains a math equation as well. $z_{ij} = \sum_{k}x_{ik}y_{kj}$.

| Year | Number | Comment |
| ---  | --- | --- |
| 2018 | 100 | Good year |
:label:`table`

Refer to :numref:`table`

年份

数量

备注

2018

100

好年份

表:这是一个非常长的表格标题。它会分成几行显示。并且也包含一个数学公式。\(z_{ij} = \sum_{k}x_{ik}y_{kj}\)

请参阅 2.5.4.3 节

2.5.4.4. 引用公式

这里的区别是我们需要使用 eqlabel 而不是 label。例如

$$\hat{\mathbf{y}}=\mathbf X \mathbf{w}+b$$
:eqlabel:`linear`


In :eqref:`linear`, we define the linear model.
(2.5.1)\[\hat{\mathbf{y}}=\mathbf X \mathbf{w}+b\]

(2.5.1) 中,我们定义了线性模型。

2.5.5. 引用文献

首先将你的 bib 文件放在某个位置。所有的参考文献都会在 HTML 中插入的位置显示。但在 PDF 中,所有参考文献都会被移动到文档的末尾。然后我们可以通过 :cite: 来引用一篇论文。多篇论文可以用逗号分隔(注意不应有空格)。

The breakthrough of deep learning origins from :cite:`krizhevsky2012imagenet` for...

Two keys together :cite:`he2016deep,devlin2018bert`...

:bibliography:`../refs.bib`

深度学习的突破源于 (Krizhevsky et al., 2012) 在计算机视觉领域的贡献,其后有大量跟进工作,例如 (He et al., 2016)。自然语言处理领域也在迎头赶上,近期的工作 (Devlin et al., 2018) 显示了显著的改进。

同时引用两个文献 (Devlin et al., 2018, He et al., 2016)。单一作者 (Mitchell, 1980),两位作者 (Newell and Rosenbloom, 1981)

注意 :cite: 与 LaTeX 中的 \citep 相同。要使用 LaTeX 中的 \citet,只需使用 :citet:。例如

Two keys together :citet:`he2016deep,devlin2018bert`. Single author
:citet:`mitchell80`, two authors :citet:`Newell81`

同时引用两个文献 Devlin et al. (2018), He et al. (2016)。单一作者 Mitchell (1980),两位作者 Newell and Rosenbloom (1981)

2.5.6. 参考文献

Devlin et al., 2018(1,2,3)

Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2018). Bert: pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.

He et al., 2016(1,2,3)

He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770–778).

Krizhevsky et al., 2012

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. Advances in neural information processing systems (pp. 1097–1105).

Mitchell, 1980(1,2)

Mitchell, T. M. (1980). The Need for Biases in Learning Generalizations. Computer Science Department, Rutgers University.

Newell & Rosenbloom, 1981(1,2)

Newell, A., & Rosenbloom, P. S. (1981). Anderson, J. R. (Ed.). Mechanisms of skill acquisition and the law of practice. Cognitive Skills and Their Acquisition (pp. 1–51). Hillsdale, NJ: Lawrence Erlbaum Associates, Inc.