tcolorbox 在 {paracol} 环境中跨越两列

tcolorbox 在 {paracol} 环境中跨越两列

paracol 环境允许图形跨越两列,方法是在图形的环境声明中使用星号:\begin{figure*} ... \end{figure*}

我不太清楚为什么这样做,我很好奇,想知道从 tcolorbox 派生的环境是否有类似的东西(如\newtcolorbox{NewBox}[1][!htbp]{...float=#1})。也就是说,在这个例子中,我能否像我错误地认为的那样得到一个跨越两个 paracol 列的 NewBox \begin{NewBox*} ... \end{NewBox*}

PS 下面的标签是“parcolumns”,因为我的声誉不够高,无法创建标签“paracol”(参考这个 CTAN 包:http://www.ctan.org/pkg/paracol

答案1

这是我的第一个答案的修订版本。它需要tcolorbox版本2.80 (2014/03/31)

要获得与figure*的环境等效的环境tcolorbox,您必须使用 选项float*而不是float选项。 的宽度tcolorbox也必须调整,例如width=\textwidth

如果您还想使用星号模拟,则可以使用以下示例代码。请注意,星号位于环境名称后面。

\documentclass{article}
\usepackage{paracol}
\usepackage[many]{tcolorbox}% version 2.80 (2014/03/31)

\usepackage{lipsum}

\NewTColorBox{NewBox}{ s O{!htbp} }{%
  floatplacement={#2},
  IfBooleanTF={#1}{float*,width=\textwidth}{float},
  colframe=blue!50!black,colback=blue!10!white,% any tcolorbox options here
  }

\begin{document}

\begin{paracol}{2}
\sloppypar
\lipsum[1]
\begin{NewBox}
Single column float.
\end{NewBox}
\switchcolumn
\begin{NewBox}[!h]
Single column float.
\end{NewBox}
\lipsum[2]

\lipsum[3]
\switchcolumn
\lipsum[4]

\begin{NewBox}*
Double column float.
\end{NewBox}

\lipsum[5]
\switchcolumn
\lipsum[6]
\end{paracol}

\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容