解决 Pandoc 将 MD 转换为 PDF 时报错 (error)\tightlist

使用 Pandoc 将test.md转换位 PDF 时,出现如下错误:

! Undefined control sequence.
<recently read> \tightlist 

l.213 \end{frame}

pandoc: Error producing PDF from TeX source
make: *** [test.pdf] Error 43

这是因为在 Markdown 文件中使用-表示无序列表,被转化成了\tightlist但是 Pandoc 版本太老,不支持这个命令。(严格来说是 Pandoc 没有处理这个 LaTeX 命令,不是不支持,因为这是 LaTeX 命令和 Pandoc 没关系)。

有两种方式解决,一是升级 Pandoc 版本,二是将处理\tightlist的命令加到自己使用的模板中。

\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

或者

\def\tightlist{}