首页 > 解决方案 > pandoc:未定义的控制序列 \colorbox

问题描述

问题

我有一个包含MarkdownLaTex组合的文件,我想将其转换为 PDF。Pandoc 似乎适用于 Ubuntu 20.04,但不适用于 Debian 10。

我的安装

# Installing Pandoc and dependencies
apt-get install pandoc texlive-xetex texlive-latex-recommended

我的降价

我在名为test.md的文件中有以下文本:

\centerline{\Large{\textbf{Test 1}}}

\colorbox{blue!25}{\Large{\textbf{Test 2}}}

**This is a test**

转换

# Conversion
pandoc -V geometry:margin=0.7in -s test.md -o output.pdf

在 Ubuntu 20.04 中,我生成了一个漂亮的 PDF。
在 Debian 10 (Docker) 中,我收到以下错误:

! Undefined control sequence.
l.62 \colorbox

我是否缺少 Debian 10 中的一些依赖项?有没有办法查看默认使用的 Pandoc 引擎?我究竟做错了什么?

运行详细模式时,安装似乎使用不同的引擎,但是,当我指定几何驱动程序以使其相同时,问题仍然存在。

# Debian 10
*geometry* driver: auto-detecting
*geometry* detected driver: xetex

# Ubuntu 20.04
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex

更新:解决方法

阅读了几篇关于类似问题的帖子,我首先尝试将\usepackage{xcolor}添加到文档的开头,但这没有用。然后我发现你必须添加一个 YAML-header 然后它才能工作。然而,最初的问题仍然让我感到困惑。

# Adding this to the start of the document fixed the problem
---
header-includes:
  - \usepackage{xcolor}
output:
    pdf_document
---

标签: pdfdebianlatexmarkdownpandoc

解决方案


Debian 10 (buster)附带pandoc 2.2.1,而 Ubuntu 20.04 (focal)附带pandoc 2.5。您似乎遇到了一个在更高版本中修复的错误。

然而,这奇怪。变更日志提到,在 2.6 版本中修复了这样的错误,该版本比您的任何一个版本都新。所以老实说,我对您触发的错误的确切性质有点困惑。


推荐阅读