使用 tcolorbox 与 xelatex,当框被打破时,框后的字体颜色变为白色。最小例子:
\documentclass{minimal}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\usepackage{lipsum}
\newtcolorbox{test}{breakable}
\begin{document}
\begin{test}
\lipsum
\end{test}
This is written in white.
\end{document}
使用 pdflatex 时会显示最后一行,而使用 xelatex 时则不会。
答案1
不幸的是,xelatex 不支持用于tcolorbox v4.32
可破坏框的颜色堆栈。该实现在几个地方发生了变化,并为 xelatex 引入了这个新错误。
我尝试了一些以前用过的方法。似乎\color{.}
在最后用 重置当前颜色就足够了。
以下对我有用:
\documentclass{minimal}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\usepackage{lipsum}
\makeatletter
\def\tcb@finalize@environment{%
\color{.}% hack for xelatex
\tcb@layer@dec%
}
\makeatother
\newtcolorbox{test}{breakable,colupper=blue}
\begin{document}
\begin{test}
\lipsum
\end{test}
This is written (not any longer) in white.
\end{document}