tcolorbox,分隔框

tcolorbox,分隔框

我使用tcolorbox。如何才能实现如下方框形式的草稿?

--------------------
|Lorem   |ipsum    |
|        |         |
--------------------
|Lorem ipsum dolor |
|                  | 
--------------------

当我将两个盒子组合在一起时,它们之间就有空间了。

在此处输入图片描述

\documentclass[]{article}
\usepackage{lipsum}
\usepackage[most]{tcolorbox} %kolor wokół sekcji
\usepackage{geometry}
\usepackage{tikz}
    \usetikzlibrary{shadows}
\usepackage{tcolorbox}
    \tcbuselibrary{skins}

\newtcolorbox{FirstBox}[2]{
    sidebyside,sidebyside align=top,
    skin=enhanced#2,
    boxsep=1mm,left=1mm,right=1mm,top=1mm,
    colback=black!5!white,
    colframe=black!75!white,
    title={Box {\bf #1}}
}

\newtcolorbox{SecondBox}[2]{
boxsep=1mm,left=1mm,right=1mm,top=0mm,
colback=black!5!white,
colframe=black!75!white,
skin=enhanced#2,
}

%--------------------------
\begin{document}
\begin{FirstBox}{ABC}{first}
Lorem ipsum dolor
\tcblower
Lorem ipsum dolor
\end{FirstBox}

\begin{SecondBox}{ABC}{last}
\lipsum[4]
\end{SecondBox}

\end{document}

答案1

您可以使用beforeafter选项尝试删除这个空白处,但我认为更好的解决方案是在单个内部构建这个构造tcolorbox

第一部分可以用一列tabular或两列环境构建。

但如果你坚持的话,side by side tcolorbox你可以将一个盒子插入另一个盒子里面。

\documentclass[]{article}
\usepackage{lipsum}
\usepackage[most]{tcolorbox} %kolor wokół sekcji
\usepackage{geometry}
\usepackage{tikz}
\usetikzlibrary{shadows}

\newtcolorbox{outerBox}[1]{
    breakable, enhanced,
    colback=black!5!white,
    colframe=black!75!white,
    title={Box {\bf #1}},
    top=0pt
}

\newtcolorbox{twocolBox}{
    sidebyside, sidebyside align=top,
    enhanced,
    arc=0pt,
    colback=black!5!white,
    colframe=black!75!white,
    boxsep=1mm,
    notitle,
    oversize,
    nobeforeafter,
    frame hidden,
}

%--------------------------
\begin{document}

\begin{outerBox}{ABC}
\begin{twocolBox}
Lorem ipsum dolor
\tcblower
Lorem ipsum dolor
\end{twocolBox}
\lipsum[4]
\end{outerBox}

\end{document}

在此处输入图片描述

答案2

这是其中一个例子tabularx

\documentclass{article}
\usepackage{array,tabularx,lipsum}
\usepackage[table]{xcolor}
\usepackage[most]{tcolorbox}
\newtcolorbox{MyBox}[1][]{%
    enhanced,
    boxsep=0pt,
    fonttitle=\bfseries\large,
    fontupper=\normalsize\sffamily,
    colback=yellow!10!white,
    colframe=red!50!black,
    colbacktitle=red!30!white,
    coltitle=black,
    before title={\noindent},
    #1
}%

\begin{document}
  \begin{MyBox}[tabularx*={\arrayrulewidth0.5mm}{X|X},title=Box ABC]%
    Lorem ipsum dolor & Lorem ipsum dolor \\\hline
    \multicolumn{2}{p{0.96\linewidth}}{\lipsum*[4]}
\end{MyBox}
\end{document}

在此处输入图片描述

尽管还有改进的可能性,但这应该作为一个起点。

答案3

只要盒子有圆角,在角落处两个盒子之间的边界就会有轻微的分离。

环境tcolorbox引入了顶部和底部 parskip 值,可以通过设置来省略nobeforeafter,但是,这会使框稍微缩进一点。可以使用 `\noindent 来防止这种情况。

\documentclass[]{article}
\usepackage{lipsum}
\usepackage{tcolorbox} %kolor wokół sekcji
\usepackage{geometry}
\usepackage{tikz}
    \usetikzlibrary{shadows}
\usepackage{tcolorbox}
    \tcbuselibrary{skins}






\newtcolorbox{FirstBox}[2]{%
    sidebyside,sidebyside align=top,
    boxsep=1mm,left=1mm,right=1mm,top=1mm,
    bottomrule=0pt,
    colback=black!5!white,
    colframe=black!75!white,
    nobeforeafter,%
    title={Box {\textbf{#1}}},
    auto outer arc,
    arc=0mm
    skin=enhanced#2
}%

\newtcolorbox{SecondBox}[2]{
boxsep=1mm,left=1mm,right=1mm,top=1mm,
colback=black!5!white,%
colframe=black!75!white,
nobeforeafter,
toprule=0pt,
notitle,
arc=0pt,
auto outer arc,
    skin=enhanced#2
}%


\begin{document}

\noindent
\begin{FirstBox}{ABC}{first}
Lorem ipsum dolor
\tcblower
Lorem ipsum dolor

\end{FirstBox}
\begin{SecondBox}{ABC}{last}
\lipsum[4]
\end{SecondBox}


\end{document}

在此处输入图片描述

编辑改进(???) 版本使用一个\newcommand,一次性完成所有操作:

\documentclass[]{article}
\usepackage{lipsum}
\usepackage{tcolorbox} %kolor wokół sekcji
\usepackage{geometry}
\usepackage{tikz}
    \usetikzlibrary{shadows}
\usepackage{tcolorbox}
    \tcbuselibrary{skins}



\newcommand*{\SuperBox}[6][]{%
\begin{tcolorbox}[colback=black!5!white,colframe=black!75!white,  skin=enhanced,#1,title=#2]
\begin{tcolorbox}[sidebyside,sidebyside align=top,notitle,boxrule=-1pt,left=0pt,top=0pt,titlerule=0pt,leftlower=0pt,nobeforeafter,bottomtitle=-10pt,notitle]
#4%
\tcblower%
#5%
\end{tcolorbox}
\begin{tcolorbox}[boxsep=0mm,left=1mm,right=1mm,%
nobeforeafter,%
boxrule=-1pt,%
notitle]%
#6%
\end{tcolorbox}%
\end{tcolorbox}%
}%




\begin{document}
% [opt arg]{box title}{unused skin}{left box content}{right box content}{lower box content}
\SuperBox{Box ABC}{First}{Lorem ipsum dolor left}{Lorem ipsum dolor right}{\lipsum[4]}


\SuperBox[colframe=red,colbacktitle=red,coltitle={yellow}]{Box ABC}{First}{Lorem ipsum dolor left}{Lorem ipsum dolor \textcolor{blue}{\textbf{right}}}{\lipsum[8]}



\end{document}

在此处输入图片描述

相关内容