将代码片段嵌套到列表项时,为什么要使用七(7)个空格?

时间:2019-05-05 17:31:43

标签: markdown r-markdown knitr pandoc

下面是片段或降价文档,通常在此处和ReText中呈现:

# Test

1. list item

    text in list item - line 1 (4 spaces)

        code in list - line 1 (8 spaces)
        code in list - line 2 (8 spaces)

    text in list item - line 2 (4 spaces)

1. list item

但在RStudio中,pandoc本身renders在HTML的每个代码行的左侧都有多余的空间:

  

8 eight spaces code block inside list item - HTML output

以及在DOCX中:

  

8 eight spaces code block inside list item - DOCX output

因此,看来RStudio和pandoc需要缩进7个空格才能正确显示列表元素中的代码。

为什么会这样?是错误还是功能?


以下是与SA相同的代码片段渲染:

测试

  1. 列表项

    列表项中的文本-第1行(4个空格)

    code in list - line 1 (8 spaces)
    code in list - line 2 (8 spaces)
    

    列表项中的文本-第2行(4个空格)

  2. 列表项


如您所见,代码行的左侧没有多余的空格。
也可以使用babelmark2的其他渲染。

1 个答案:

答案 0 :(得分:1)

guide中所述:

  

块引用是一个或多个段落或其他块元素   (例如列表或标题),每行前面均带有一个>字符   和一个可选的空间。 (>不必从左边缘开始,但是   缩进不应超过三个空格。)

前4个空格会将文本放入列表中,另外3个空格会将其转换为列表中的块。 (4 + 3 = 7)