Pandoc Markdown:代码块的多段落列表

3
整个Pandoc网站上关于列表的文档似乎是错误的,或者最多只是一团糟。
我大部分时间都在整理如何处理列表中的多个段落,但我卡在了以下组合上:代码块后面的文本段落掉出了列表。也就是说,代码块段落打破了列表(在latex .tex输出文件中可见;请使用选项 -t tex)。
如果以下Markdown文本在test.md文件中,并且我使用Pandoc进行转换 pandoc -t latex test.md -o test.pdf 以下Markdown文本应该如何格式化,以便第3段在列表项1内,并与其第一个段落对齐
   1. List item. Paragraph 1

   ```javascript
        // Second paragraph is a code block. If start at column 6, code shows ok.
        // Additional indentation only moves code block further right
        // Notice code block tag/backticks starts at column 1 though!!
        //  If it starts at col 2+, code block w/ tag is messed up as all code block.
        var x = 3
        print( "Pandoc has made a mess out of Markdown!" )
   ```

        Paragraph 3. However list is broken and Par 3 falls off.
   2. List item

应显示为:

  1. 列表项。第1段

// 第2段是代码块。如果从第6列开始,代码就可以正常显示。 // 附加缩进只会将代码块向右移动 // 请注意,代码块标签/反引号虽然从第1列开始,但如果从第2列+开始,则标签的代码块将混乱无序。 var x = 3 print( "Pandoc已将Markdown搞得一团糟!" )

   Paragraph 3. However list is broken and Par 3 falls off.

2. 列表项

但实际上显示为

  1. 列表项。段落1

// 第二段是代码块。如果从第6列开始,代码就可以正常显示。 // 附加缩进只会将代码块向右移动 // 注意,代码块标签/反引号从第1列开始! // 如果它从第2列开始,带有标签的代码块就会变得混乱无序。 var x = 3 print( "Pandoc已经把Markdown搞砸了!" )

第3段。然而,列表被打断,第3段掉了下去。

  1. 列表项
1个回答

4
关键在于使用正确的缩进和换行组合:
1. List item, no indention

    This paragraph is indented by two tabs (four spaces). 
    Put separating newlines below and above the following code chunk:

    ```javascript
    // This code chunk is indented by two tabs (four spaces)
    var x = 3
    print("Pandoc has made a mess out of Markdown!")
    ```

    Paragraph 3 is indented by two tabs.

2. List item, no indention

这将产生:

在此输入图片描述


太好了,成功了。我想我曾经偶然地掌握了它,但这一直是一个令人沮丧的问题。你是从熊猫文档中遵循了那个组合吗?如果是的话,我完全错过了它。 - MASL
是的,我做到了。 :-) - Martin C. Arnold
:-) 好的,你的第二段和后续段落相对于列表计数器缩进了4个空格。这意味着它从第5列开始。但是文档并没有这样说明。实际上,这种组合在文档中找不到任何解释。最接近的规则是当代码块跟随列表标记时:“后续段落必须从列表标记的最后一个字符之后的2个列开始”!我认为这些文档几乎和hexdump的文档一样糟糕... - MASL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接