【问题标题】:How to keep comments in YAML header when converting w/ pandoc使用 pandoc 转换时如何在 YAML 标头中保留注释
【发布时间】:2021-02-19 11:59:50
【问题描述】:

我有一个 Markdown 文件,其中包含混合的 Markdown 和 TeX 内容,旨在最终转换为 PDF。

我有一个类似这样的 YAML 标头:

---
title: "mytitle"
#author: [someone]
lang: "de"
date: \today
toc: false
toc-own-page: false
numbersections: false
listings: true
header-includes: |
    \usepackage{amsmath}
    \usepackage{mathtools}
    \usepackage{amssymb}
    \usepackage{wasysym}
    \usepackage{extarrows}
    \usepackage[iso,german]{isodate}
    \setcounter{page}{1}
---

现在我使用 pandoc 在每次保存时“美化”/格式化我的文档:

pandoc -f markdown -t markdown --standalone -Vheader-includes='' --reference-links

这会产生这个输出:

---
date: "`\\today`{=tex}"
header-includes: |
  ```{=tex}
  \usepackage{amsmath}
  \usepackage{mathtools}
  \usepackage{amssymb}
  \usepackage{wasysym}
  \usepackage{extarrows}
  \usepackage[iso,german]{isodate}
  \setcounter{page}{1}
  ```
lang: de
listings: true
numbersections: false
title: mytitle
toc: false
toc-own-page: false
---

虽然我对{=tex}-blocks 不满意,但我明白它们为什么有意义并且知道我可以使用-t markdown-raw_attribute 禁用它们

但是有没有办法将注释掉的作者保留在 YAML 标头块中?

【问题讨论】:

    标签: yaml markdown pandoc


    【解决方案1】:

    Pandoc 不保留 YAML 块中的文本表示,无法保留 cmets。您可以在未使用的 YAML 密钥前面加上 _ 以避免它影响其他输出。

    可以将 YAML 保存在单独的文件中,并将其包含在 --metadata-file=... 中,这样可以很容易地确保只处理文本。

    【讨论】:

    • 这是有价值的信息和很好的解决方法。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多