tcolorbox 在条带内插入了不应插入的垂直空间

tcolorbox 在条带内插入了不应插入的垂直空间

我有一本两栏的书,我想有一个横跨整个页面的简单易碎的 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}

在此处输入图片描述

相关内容