pandoc - 如何阻止 pandoc 转义下划线?

标签 pandoc

我使用 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 在 Markdown 输出中转义下划线时过于谨慎,因为它可能是斜体。但输出是完全有效的 Markdown 。 (尝试将其转换为 HTML,看看我的意思。)

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

如果绝对必要,您可以使用 raw_attribute 来规避重新序列化。 :

---
url: |
  ```{=markdown}
  http://some.url/with_an_underscore
  ```
---

关于pandoc - 如何阻止 pandoc 转义下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49407274/

相关文章:

pandoc - 为什么我不能使用 Pandoc 在 pdf 中包含图像?

python - 使用 python Popen 和 pandoc 解析 html 时不需要的新行?

r - 是否有用于模块化报告生成的\SweaveInput{} 的 R markdown 模拟?

emacs - Emacs 中的 Markdown 预览失败 : (pandoc? ) 错误 127

html - 如何将缺少的关键字添加到 Pandoc 语言中以进行语法高亮显示

rmarkdown::render并行

bash - 使用 GitHub Actions 循环多个文件

latex - 当使用 pandoc 从 markdown 转换为 latex 时,波浪号超过 n

pandoc - 如何使用 Quarto 将阿拉伯语等非拉丁文字渲染为 pdf 格式?

html - 我们如何让 pandoc 从 markdown 生成漂亮的、人类可读的 HTML?