pdf - pandoc:未定义的控制序列 \colorbox
问题描述
问题
我有一个包含Markdown和LaTex组合的文件,我想将其转换为 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
---
解决方案
Debian 10 (buster)附带pandoc 2.2.1,而 Ubuntu 20.04 (focal)附带pandoc 2.5。您似乎遇到了一个在更高版本中修复的错误。
然而,这很奇怪。变更日志提到,在 2.6 版本中修复了这样的错误,该版本比您的任何一个版本都新。所以老实说,我对您触发的错误的确切性质有点困惑。
推荐阅读
- javascript - 合并数组中具有相同属性值的对象
- python - OpenGL和glfw - 在python中创建窗口后调整窗口大小
- c# - 从 UWP 将项目上传到 API - 将文件夹设置为自动上传
- ansible - Ansible - 每个分组更改的角色默认值
- angular - java.lang.IllegalArgumentException:无法将空子视图添加到 ViewGroup Nativescript-Angular
- python - Cython 字符串支持
- java - Java 8 中无法替换字符串的空白字符
- azure - 创建外部数据源 Azure SQL
- botframework - Skype for Business 混合环境的机器人设置
- html - 有没有办法在不需要遵循xml结构的情况下在html中转换xml?