![tcolorbox 在条带内插入了不应插入的垂直空间](https://linux22.com/image/382702/tcolorbox%20%E5%9C%A8%E6%9D%A1%E5%B8%A6%E5%86%85%E6%8F%92%E5%85%A5%E4%BA%86%E4%B8%8D%E5%BA%94%E6%8F%92%E5%85%A5%E7%9A%84%E5%9E%82%E7%9B%B4%E7%A9%BA%E9%97%B4.png)
我有一本两栏的书,我想有一个横跨整个页面的简单易碎的 tcolorbox。但是我发现很多垂直空间被插入到了不应该出现的地方。这是一个最小的工作示例。
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[twocolumn,a4paper,10pt]{book}
\usepackage{tikz}
\usepackage{cuted}
\usepackage{lipsum}
\usepackage{tcolorbox}\tcbuselibrary{breakable}\tcbuselibrary{skins}
\newtcolorbox{wideframeddbox}[2][]{
enhanced,
breakable,
before upper={\parindent15pt}
}
\newenvironment{wideframed}{\begin{strip}\begin{wideframeddbox}}{\end{wideframeddbox}\end{strip}}
\begin{document}
\lipsum[1-3]
\begin{wideframed}
\lipsum[1-3]
\end{wideframed}
\lipsum[3]
\end{document}
这导致第一页上的文本与宽框的开头之间有很大间隙,并且宽框内每隔几行就会出现不必要的垂直空间。我做错了什么?
答案1
您可以使用以下键进行游戏break at = some length
:
\documentclass[twocolumn,a4paper,10pt]{book}
\usepackage{tikz}
\usepackage{cuted}
\usepackage{lipsum}
\usepackage{tcolorbox}\tcbuselibrary{breakable}\tcbuselibrary{skins}
\newtcolorbox{wideframeddbox}[2][]{
enhanced,
breakable,
before upper={\parindent15pt},
break at = 25\baselineskip
}
\newenvironment{wideframed}{\begin{strip}\begin{wideframeddbox}}{\end{wideframeddbox}\end{strip}}
\begin{document}
\raggedbottom
\lipsum[1-3]
\begin{wideframed}
\lipsum[1-3]
\end{wideframed}
\lipsum[3]
\end{document}
答案2
也许您可以考虑编写一份one column
包含一些multicolumn
片段的文档:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[a4paper,10pt]{book}
\usepackage{tikz}
%\usepackage{cuted}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{multicol}
\tcbuselibrary{breakable}
\tcbuselibrary{skins}
\newtcolorbox{wideframeddbox}[2][]{
enhanced,
breakable,
before upper={\parindent15pt}
}
%\newenvironment{wideframed}{\begin{strip}\begin{wideframeddbox}}{\end{wideframeddbox}\end{strip}}
\begin{document}
\begin{multicols}{2}
\lipsum[1-3]
\end{multicols}
\begin{wideframeddbox}{}
\lipsum[1-3]
\end{wideframeddbox}
\begin{multicols}{2}
\lipsum[3]
\end{multicols}
\end{document}