如何在隐藏框架的情况下去除 tcolorbox tcbsidebyside 的框架接缝?

如何在隐藏框架的情况下去除 tcolorbox tcbsidebyside 的框架接缝?

我想创建一个包含 2 张 tikzpicture 的框。一张 tikzpicture 的背景应该比另一张更暗。我首先尝试使用\tcolorbox命令,但我还想让下半部分延伸其宽度。所以我切换到命令\tcbsidebyside。这使我能够使用该sidebyside adapt=left命令。

现在的问题是,我也想有一个隐藏的框架,但它仍然有点明显。因为我想使用 2 种颜色,所以我也没有使用增强的拼图皮肤。这对于去除frame hidden我读过的那些伪影很有用。

这是一个简单的例子:

在前两个例子中,我展示了tcolorbox也存在此问题。似乎只有在使用时才会发生这种情况,sidebyside可能是因为上部已完全绘制,而下部则在上面,我不知道。在最后一个示例 (3) 中,我使用的是tcbsidebyside当前正在使用的命令。如图所示,接缝也是可见的。

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{xparse,skins}

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%% 1 %%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{tcolorbox}[
    bicolor,
    frame hidden,
    colback=blue!40,
    colbacklower=blue!1,
    boxrule=0pt,
    sidebyside,
]%
\begin{tikzpicture}
    \node[draw] (a) {A};
\end{tikzpicture}
\tcblower
\begin{tikzpicture}
    \node[draw] (b) {B};
\end{tikzpicture}
\end{tcolorbox}

%%%%%%%%%%%%%%%%%%%%%%%% 2 %%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{tcolorbox}[
    bicolor,
    frame hidden,
    colback=blue!40,
    colbacklower=blue!1,
    boxrule=0pt,
    sidebyside adapt=left,
]%
\begin{tikzpicture}
    \node[draw] (a) {A};
\end{tikzpicture}
\tcblower
\begin{tikzpicture}
    \node[draw] (b) {B};
\end{tikzpicture}
\end{tcolorbox}

%%%%%%%%%%%%%%%%%%%%%%%% 3 %%%%%%%%%%%%%%%%%%%%%%%%%%
\tcbsidebyside[
    bicolor,
    boxrule=0pt,
    colback=blue!40,
    colbacklower=blue!1,
    sidebyside adapt=left,
    frame hidden
]
{%
\begin{tikzpicture}
    \node[draw] (a) {A};
\end{tikzpicture}
}{%
\begin{tikzpicture}
    \node[draw] (b) {B};
\end{tikzpicture}
}
\end{document}

示例输出

相关内容