如何通过 pandoc 将 yaml 文件中带有下划线的路径名传递给 latex?

如何通过 pandoc 将 yaml 文件中带有下划线的路径名传递给 latex?

我有一个csv名为的文件test_csv.csv,其内容如下:

1_c,2,3,4
a2,b,c,d

我想用 LaTeX 打印它,csvautobooklongtable但使用 pandoc-workflow。

pandoc-template( pandoc-csv.latex)是这样的:

\documentclass{scrartcl}
\usepackage{csvsimple}
\usepackage{longtable,booktabs}
\begin{document}
\csvautobooklongtable[before table=\ttfamily,respect all]{$pathtocsv$}
\end{document}

-file 的路径csv位于一个额外的yaml-file ( my.yaml) 中:

---
pathtocsv: test_csv.csv
---

因为我只有元数据,所以我想打印一个空的 markdown 虚拟文件,这dummy.md对于 pandoc 来说似乎是必要的()。

我通过 CLI 进行转换,

pandoc my.yaml --template pandoc-csv.latex  dummy.md --pdf-engine=lualatex -o pandoc-csv.pdf

问题是 pandoc 从路径名转换下划线,并且无法在我的 latex 文档中读取它。

!包 csvsimple 错误:文件“test\_csv.csv”不存在、不可读或为空!。

答案1

您需要告诉 pandoc,该字符串已经latex避免进一步转义:

---
pathtocsv: "`test_csv.csv`{=latex}"
---

相关内容