在易碎的 tcolorbox 中保持文本颜色变化

在易碎的 tcolorbox 中保持文本颜色变化

我尝试维护可破坏框中的当前文本颜色tcolorbox,但手册明确指出(请参阅当前版本的手册,第 15.2 节,第 292 页,版本 3.34)

• 如果您的文本内容包含一些文本颜色改变命令,您的颜色将无法在下一个框中保留。

所以,这必须失败(现在)。但是,颜色变化在显式 TeX 框中保留,使用 进行拆分\vsplit

有没有办法(即 hack/patch)强制tcolorbox保持破损盒子的一部分到另一部分之间的当前文本颜色?

{ \color{....}...}使用或\begingroup \color{...}...\endgroup或进行分组\textcolor{...}{...}均不起作用。

\documentclass{article}

\usepackage{blindtext}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}

\begin{document}

\begin{tcolorbox}[breakable]
  \blindtext[3]
  \color{blue}  % To 'force' color change 
  \blindtext[3]
  \color{red}
  \blindtext
  \color{brown}
  \blindtext
\end{tcolorbox}


\end{document}

如果可行的话,第二个框的上半部分的颜色应该是蓝色;-)

在此处输入图片描述

答案1

使用 xelatex 或 lualatex,你可以为字体着色,而不必使用颜色命令。这不会影响到方框中断:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\usepackage{blindtext}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}

\begin{document}

\begin{tcolorbox}[breakable]
  \blindtext[3]
  \addfontfeatures{Color=blue}
  \blindtext[3]
  \addfontfeatures{Color=red}
  \blindtext
  \addfontfeatures{Color=brown}
  \blindtext
\end{tcolorbox}


\end{document}

在此处输入图片描述

相关内容