Pandoc:使用变量创建动态 headers

Pandoc: Creating dynamic headers with Variables

在我的序言中我使用:

\usepackage[ngerman,english]{isodate}
\newcommand{\langMonth}{\month@ngerman}
$if(langDe)$
\renewcommand{\langMonth}{\month@ngerman}
$endif$
$if(langEn)$
\renewcommand{\langMonth}{\month@english}
$endif$

\usepackage{tikz}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[CO,CE]{\thepage}
%\setlength\headheight{100pt}

\rhead{\begin{tikzpicture}\node[above right, opacity=.5] { $if(Beschreibung)$$Beschreibung$$endif$ };  
\node[below right, opacity=.5]{\langMonth \, \the\year };
\end{tikzpicture}}

\lhead{\begin{tikzpicture}
\node[opacity=.5] {\includegraphics[width=0.25\textwidth]{images/Logo.png}};
\end{tikzpicture} }

我基本上想要两件事:根据语言写下月份,但是,我得到了 LaTeX 错误:缺少 \begin{document}。 我想要的另一件事是在 header 中动态设置一些描述,但是变量 Beschreibung 只是被忽略了。我通过以下方式调用 pandoc:

pandoc -o doc.pdf test.md --template mytemplate.latex --pdf-engine lualatex --verbose -V Beschreibung=dynamicDescription

有什么建议吗?非常感谢。

无需重新发明轮子,您可以使用 babeldatetime2 程序包以文档的语言自动打印月份。

\documentclass[ngerman]{book}

\usepackage{babel}
\usepackage[calc]{datetime2}

\usepackage{tikz}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[CO,CE]{\thepage}
\setlength\headheight{100pt}

\rhead{\begin{tikzpicture}
\node[below right, opacity=.5]{\DTMmonthname{\the\month}
 \, \the\year };
\end{tikzpicture}}

\lhead{\begin{tikzpicture}
\node[opacity=.5] {\includegraphics[width=0.25\textwidth]{example-image-duck}};
\end{tikzpicture} }


\begin{document}

test

\end{document}