Pandoc md 到 tex:代码 + 枚举交互

Pandoc md 到 tex:代码 + 枚举交互

如何让 pandoc md 到 xelatex 的转换理解代码结构在枚举列表中。我的 markdown 文件中的最小代码。

* Test your code 
* Don't use structures like this

  ```cpp
  //Bad structure
  //More bad structures
  ```

  As this will cause problems.

此代码在 github 上正确显示,代码相对于列表正确缩进。但使用相对简单的

pandoc --latex-engine=xelatex README.md -o test.pdf

弄得一团糟。我做到的最好的事情是实际显示带有枚举中断的代码。我的其他尝试通常会破坏代码显示。

答案1

下面的代码对我来说看起来不错。我使用了隔离代码块,但它也应该适用于反引号。

- Test your code 
- Don't use structures like this

  ~~~ {.cpp}
  // printf("hello world");
  // prints("hello World");
  ~~~

  as this will cause problems.

我已经用上面的调用转换了此代码并且它对我来说看起来没问题。

答案2

三重反引号是原始 markdown 语法的扩展,Github 和 Pandoc 并未以完全兼容的方式实现它们。在 Pandoc 中,起始和结束的三重反引号都需要从左边距开始。在枚举中,左边距以 4 个空格的缩进开始。然而,在代码块中,左边距从位置 0 开始。因此,您需要编写

* Test your code
* Don't use structures like this

    ```cpp
//Bad structure
//More bad structures
    ```

    As this will cause problems.

这对我来说不起作用GitHub 的标记工具:它不将其识别cpp为语言属性,而是将其视为第一行代码。但是缩进有所不同:使用两个空格,代码块会终止枚举,而使用我的四个空格,代码块和以下文本行仍保留在枚举中。不过,我认为这是该工具依赖项之一的版本中的错误,因为该```language语法在 Github 上肯定受支持。

相关内容