如何让 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 上肯定受支持。