我在 Markdown 序言中使用以下代码来在 Markdown 代码中使用 tcolorboxes:
header-includes:
- |
```{=latex}
\usepackage{tcolorbox}
\newtcolorbox{norm-box}{colback=gray!5!white,arc=0pt,outer arc=0pt,colframe=gray!60!black}
\newtcolorbox{info-box}{colback=cyan!5!white,arc=0pt,outer arc=0pt,colframe=cyan!60!black}
\newtcolorbox{warn-box}{colback=orange!5!white,arc=0pt,outer arc=0pt,colframe=orange!80!black}
\newtcolorbox{error-box}{colback=red!5!white,arc=0pt,outer arc=0pt,colframe=red!75!black}
\newtcolorbox{attn-box}{colback=green!5!white,arc=0pt,outer arc=0pt,colframe=green!75!black}
pandoc-latex-environment:
tcolorbox: [box]
norm-box: [norm]
info-box: [info]
warn-box: [warn]
error-box: [error]
attn-box: [attn]
...
然后,在我的 Markdown 文本中,我使用此代码生成一个带有标题和一些项目符号列表的灯箱:
::: info
**Objectives:**
- test
- test
- test
- test
:::
当我运行 Pandoc 并从 Markdown 文件生成 PDF 时,收到以下错误消息:
Error running filter pandoc-latex-environment:
Error in $.blocks[1].c[1][14].c: cannot unpack array of length 3 into a tuple of length 2
如果我删除最后一个项目符号,编译起来就没有问题了。
::: info
**Objectives:**
- test
- test
- test
test
:::
我觉得这似乎是一个错误。还有其他方法可以在 tcolorbox 中创建项目符号列表吗?
注意:如果我将 Markdown 中 tcolorbox 的所有内容移到 LaTeX,它确实可以正常工作。
\begin{tcolorbox}[colback=cyan!5!white,arc=0pt,outer arc=0pt,colframe=cyan!60!black,title=\textbf{Objectives}]
\begin{itemize}
\item test
\item test
\item test
\item test
\end{itemize}
\end{tcolorbox}
但由于这些文档被许多未受过教育的 LaTeX 用户使用,因此它需要尽可能保持简单。谢谢。