Pandoc 可以在 Markdown 中使用 YAML 标头,或者对所有源类型使用默认值或元数据文件,其中可以存储要在模板中使用的变量。是否可以在这些元数据变量中不转义反斜杠和 LaTeX 命令?
例如,我的 YAML 标头中有这一行:phone: +49\,123\,456789。转换时,Pandoc 会转义反斜杠,因此它变成+49\textbackslash,123\textbackslash,456789. 这是不需要的,因为我希望 LaTeX 解释\,并将其转换为薄空间。
我还尝试将其包装在''或作为块 with |,因此 YAML 本身不会转义任何内容,但这似乎是 Pandoc 本身进行转换,而不是 YAML 解释器。
src.md:
Some text
Run Code Online (Sandbox Code Playgroud)
默认值.yaml:
Some text
Run Code Online (Sandbox Code Playgroud)
tpl.tex:
template: ./tpl.tex
metadata:
phone: +49\,123\,456789
Run Code Online (Sandbox Code Playgroud)
输出pandoc --defaults defaults.yaml src.md --to latex:
Phone number: $phone$
Markdown body:
$body$
Run Code Online (Sandbox Code Playgroud)
应该:
Phone number: +49\textbackslash,123\textbackslash,456789
Markdown body:
Some text
Run Code Online (Sandbox Code Playgroud)
元数据总是会被转义;最简单的方法是做你想做的事,定义一个变量而不是元数据。
---
variables:
phone: +49\,123\,456789
---
Run Code Online (Sandbox Code Playgroud)
与元数据值相反,变量被逐字插入到模板中。
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |