列表编号Jupyter笔记本降价

Chi*_*iel 14 markdown jupyter jupyter-notebook

我尝试为学生创建一个教程.我想对我问他们的问题进行编号,但在两者之间,我想添加信息来介绍问题.如何制作自动编号的列表,每次放置文本时都不会重置编号.例如:

This is some info.
1. This is question one.

This is more info.
2. This is question two.
Run Code Online (Sandbox Code Playgroud)

给出输出:

这是一些信息.

  1. 这是一个问题.

这是更多信息.

  1. 这是问题二.

Way*_*lan 15

标准Markdown无法直接实现这一点,尽管您可以"伪造"(见下文).实际上规则规定:

重要的是要注意,用于标记列表的实际数字对Markdown产生的HTML输出没有影响....重点是,如果您愿意,可以在订购的Markdown列表中使用序号,以便源中的数字与您发布的HTML中的数字相匹配.但如果你想要懒惰,你就不必这么做.

但是,如果使用延迟列表编号,则仍应使用数字1启动列表.在将来的某个时刻,Markdown可能支持以任意数字开始排序列表.

正式的未来永远不会到来.但是,一些不同的Markdown实现可能会提供非默认选项等功能.不幸的是,它很少见(我不记得它们是哪种实现).

无论如何,你会遇到另一个问题.我不清楚你想要的输出是如何有效的HTML.基本上,您要求列表项目之外的段落嵌套在列表中.这将是无效的HTML:

<ol>
  <p>This is some info.</p>
  <li>This is question one.</li>
  <p>This is more info.</p>
  <li>This is question two.</li>
</ol>
Run Code Online (Sandbox Code Playgroud)

也就是说,它将(几乎)按照您的意愿显示(非列表项也是缩进的).

    这是一些信息.

  1. 这是一个问题.
  2. 这是更多信息.

  3. 这是问题二.

我不推荐它,但你可以使用它作为原始HTML.也许您可以找到一些其他方法或格式来表示您的数据.

我考虑建议使用嵌套在定义列表中的有序列表,如果你的Markdown实现支持它(虽然非标准,这个特性在各个实现中非常常见和一致,但默认情况下它可能没有打开).它确实为您提供了正确的嵌套,但如果不连续的数字仍然存在则会出现同样的问题.但是,如果手动添加数字并将其转义为不将它们解释为列表项,则其工作方式如下:

This is some info.
: 1\. This is question one.

This is more info.
: 2\. This is question two.
Run Code Online (Sandbox Code Playgroud)

这呈现为:

<dl>
<dt>This is some info.</dt>
<dd>1. This is question one.</dd>
<dt>This is more info.</dt>
<dd>2. This is question two.</dd>
</dl>
Run Code Online (Sandbox Code Playgroud)

并显示为:

这是一些信息.
    这是一个问题.
这是更多信息.
    这是问题二.

有趣的是,由于SO删除了定义列表中的(通常是默认的)缩进,在我尝试在上面的演示中伪造它时,我意识到有一个更简单的解决方案应该适用于所有Markdown实现.只需使用段落,手动编号和不间断空格来强制缩进:

This is some info.

&nbsp; &nbsp; 1. This is question one.

This is more info.

&nbsp; &nbsp; 2. This is question two.
Run Code Online (Sandbox Code Playgroud)

请注意,不间断空格会导致Markdown不将这些行视为列表项,从而无需转义它们.以上呈现为:

<p>This is some info.</p>
<p>&nbsp; &nbsp; 1. This is question one.</p>
<p>This is more info.</p>
<p>&nbsp; &nbsp; 2. This is question two.</p>
Run Code Online (Sandbox Code Playgroud)

并显示为:

这是一些信息.

    这是一个问题.

这是更多信息.

    这是问题二.


小智 10

我们可以通过多种方式在 Markdown 模式下在 Jupyter Notebook 中创建列表。我推荐自己的最简单的方法很简单:只需* 在列表中的项目之前附加(确保在星号后面包含空格)即可。例如:

* one
* two
* three
Run Code Online (Sandbox Code Playgroud)

输出:

另一种方法是,您只需键入“any”numberdot“like” 1.,然后键入列表中的项目。

1. one
2. two
3. three
Run Code Online (Sandbox Code Playgroud)

所以会看到输出为:

如果您想更改列表格式,例如将点转换为数字或将数字转换为点,只需简单地以适当的格式更改一个元素,整个列表就会转换。

例如

 1. one
 * two
 * three
Run Code Online (Sandbox Code Playgroud)

输出将

* one
2. two
3. three
Run Code Online (Sandbox Code Playgroud)

输出 :


小智 5

与所需的不完全相同,但当我写下 1) 2) 3) 等时,jupyter 停止重新编号。

')' 似乎禁用了 Jupyter 降价完成的重新编号。至少适用于运行 python 3.5.2 的 jupyter 版本 5.0.0。