我正在尝试将变量传递给 tex 模板,以通过 pandoc 生成使用这些值的 PDF。
这是我的模板:
\documentclass[15pt]{article}
\usepackage{sectsty}
% Margins
\topmargin=-0.45in
\evensidemargin=0in
\oddsidemargin=0in
\textwidth=6.5in
\textheight=9.0in
\headsep=0.25in
\newcommand{\Ticket}{}
\newcommand{\Autor}{}
\newcommand{\Erstelldatum}{}
\title{Ticket: \Ticket}
\author{Erstellt von: \Autor}
\date{Erstellt am: \Erstelldatum}
\begin{document}
\maketitle
\end{document}
我尝试运行这些命令但变量仍然为空:
pandoc.exe -o test.pdf -s template.tex --variable Ticket=12345
pandoc.exe -o test.pdf -s template.tex --variable=Ticket=12345
pandoc.exe -o test.pdf -s template.tex --variable=Ticket:12345
答案1
正如 @dexteritas 已经指出的那样:模板变量包含在 中$
。这记录在手动的。
您还需要使用选项加载模板--template=
,并且必须确保加载了pandoc
实际需要的所有包。最好获取默认模板pandoc -D latex
并对其进行修改。
让我们调用你的文件template.latex
:
\documentclass[15pt]{article}
\usepackage{sectsty}
% Margins
\topmargin=-0.45in
\evensidemargin=0in
\oddsidemargin=0in
\textwidth=6.5in
\textheight=9.0in
\headsep=0.25in
\title{Ticket: $Ticket$}
\author{Erstellt von: $Autor$}
\date{Erstellt am: $Erstelldatum$}
\begin{document}
\maketitle
\end{document}
然后调用 pandoc:
pandoc --template=template.latex \
-V Ticket=12345 \
-V Autor="Vorname Nachname" \
-V Erstelldatum=2023-04-20
--in test.md --out test.pdf