如何阻止 pandoc 转义下划线?

How to stop pandoc from escaping underscores?

我使用 pandoc 创建我的简历的网站版本。使用的数据存储在 YAML 文件中。它工作顺利,除了一些超链接被破坏,因为 pandoc 转义了下划线。有什么办法可以阻止它这样做吗?

我尝试了一些像 'tex_math_dollars' 和 'tex_subscript' 这样的扩展,但是启用它们并不能阻止转义下划线。对于这个特定问题,我在 pandoc 的文档中找不到任何答案。

一个最小的例子:

YAML 文件(example.md):

---
url: http://some.url/with_an_underscore
---

模板文件(template.md):

$url$ 

调用 pandoc:

pandoc example.md --to markdown --from markdown --output out.md --template template.md

结果输出(out.md):

http://some.url/with\_an\_underscore

YAML 元数据字段被解析为 Markdown。因此,您正在发生与以下示例相同的事情:

$ echo 'http://some.url/with_an_underscore' | pandoc -t markdown
http://some.url/with\_an\_underscore

Pandoc 在转义降价输出中的下划线时过于谨慎,因为它可能是斜体。但输出是完全有效的降价。 (尝试将其转换为 HTML 以了解我的意思。)

也许问题是:为什么要从 markdown 转换到 markdown 并被转义的下划线困扰?

如果绝对必要,可以使用 raw_attribute:

来规避重新序列化
---
url: |
  ```{=markdown}
  http://some.url/with_an_underscore
  ```
---