2016-03-04 94 views
8

我尝试为学生创建教程。我想对我问他们的问题编号,但在两者之间我想添加信息来介绍这些问题。我怎样才能制作一个自动编号的列表,每次放置文本都不会重置编号。例如:列表编号Jupyter笔记本降价

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

This is more info. 
2. This is question two. 

给出输出:

这是一些信息。

  1. 这是问题一。

这是更多信息。

  1. 这是问题二。

回答

5

尽管您可以“伪造”(见下文),但这并不能直接与标准Markdown一起使用。实际上,rules的状态为:

请注意,用于标记列表的实际数字对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> 

这就是说,它会(几乎)显示为你的愿望(非列表项也缩进)。

    这是一些信息。

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

  3. 这是问题二。

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

如果您的Markdown实现支持它(虽然非标准,这个特性在实现中是非常常见和一致的,尽管默认情况下它可能不会),我认为建议使用嵌套在定义列表中的有序列表。它确实给你适当的嵌套,但如果不连续的数字持续存在,则会出现同样的问题。但是,如果您手动添加号码,逃避他们,使他们不会被解释为列表项目,它的工作原理是这样的:

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

This is more info. 
: 2\. This is question two. 

呈现为:

<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> 

,并显示为:

这是一些信息。
    1.这是问题一。
这是更多信息。
    2.这是问题二。

有趣的是,像这样消除了对自定义列表中(通常默认)压痕,在我试图伪造它在演示上面,我意识到有一个更简单的解决方案,应在所有降价的实施工作。只要使用段落,手工数字和非破,空间,迫使缩进:

This is some info. 

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

This is more info. 

&nbsp; &nbsp; 2. This is question two. 

注意,非中断空格原因降价不看那些行列表项否定需要躲避他们的。以上呈现为:

<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> 

,并显示为:

这是一些信息。

    1.这是问题一。

这是更多信息。

    2.这是问题二。

1

不等同于所期望的,但jupyter停止重新编号,当我写 1) 2) 3) 等

的 ')' 似乎禁用由Jupyter的降价进行重编。至少运行python 3.5.2的jupyter 5.0.0版本。

+0

这也适用于我,但每个列表元素之间必须有一条空行,否则所有编号的点都显示在同一行上。即使在列表元素之间使用空行,使用完全停止“。”的同样方法仍然不起作用。 –