如何阻止 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
```
---
我使用 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
```
---