![tcolorbox 在 {paracol} 环境中跨越两列](https://linux22.com/image/287025/tcolorbox%20%E5%9C%A8%20%7Bparacol%7D%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%B7%A8%E8%B6%8A%E4%B8%A4%E5%88%97.png)
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}