大家好!我是新手tcolorbox
,我想实现一些我没想到会花这么多时间却没有任何结果的事情。通常,文档和谷歌搜索可以帮助我实现目标。但是,对于这个,我没有运气,文档tcolorbox
实在是太多了。我展示到目前为止我的工作代码:
\begin{tcolorbox}[colback=blue!83,arc=0pt,outer arc=0pt]
\begin{minipage}{.25\textwidth}
\bf \textcolor{white}{1} \\ \textcolor{white}{2} \\ \textcolor{white}{3}
\end{minipage}%
\begin{minipage}{.75\textwidth}
\phantom{1} \\ \phantom{1} \\ \phantom{1} %used for painting
\end{minipage}
\end{tcolorbox}
我曾经minipage
尝试过更简单的方法来分离框,并尝试用不同的颜色(灰色)绘制正确的 minipage,因为我无法通过选项做到这一点colorbox
。我为实现这一点所做的是将 minipage 放在 fcolorbox 中。这并没有给我想要的结果,因为它只绘制了三行,在灰色 fcolorbox 周围留下了一些仍然涂成蓝色的空间。我也尝试了其他方法,结果也类似。我只希望所有正确的 minipage 都是灰色的。理想情况下,我希望整个 tcolorbox 是 3 乘 2 的表格,并且没有框架。因此预期的输出如下:
答案1
假设您在问题中包含的图像是预期输出的草图,我不建议tcolorbox
重现它。相反,专用于表格的包,例如tabularray
或nicematrix
应该会派上用场:
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\definecolor{myblue}{RGB}{46, 116, 181}
\definecolor{mygray}{RGB}{217, 217, 217}
\begin{document}
\noindent
\begin{tblr}{colspec={X[1]X[3]},
hlines, vlines,
column{1}={bg=myblue, fg=white, font=\bfseries},
column{2}={bg=mygray}}
1 & \\
2 & \\
3 & \\
\end{tblr}
\end{document}
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\definecolor{myblue}{RGB}{46, 116, 181}
\definecolor{mygray}{RGB}{217, 217, 217}
\begin{document}
\noindent
\begin{NiceTabularX}{\linewidth}{>{\bfseries\color{white}}X[1]X[3]}[hvlines]
\CodeBefore
\columncolor{myblue}{1}
\columncolor{mygray}{2}
\Body
1 & \\
2 & \\
3 & \\
\end{NiceTabularX}
\end{document}
答案2
正如 leandriis 所评论的,最好使用表格或数组包来绘制所需的方案。但tcolorbox
您也可以模拟表格。这是一个带有的示例tcbitemize
。
\documentclass{article}
\usepackage[most]{tcolorbox}
\begin{document}
\begin{tcbitemize}[raster columns=4, raster column skip=-0.5mm, raster row skip=-0.5mm,
raster equal height=rows,
sharp corners, colback=blue, coltext=white, raster even number/.style={raster multicolumn=3, colback=gray}]
\tcbitem 1
\tcbitem
\tcbitem 2
\tcbitem
\tcbitem 3
\tcbitem
\end{tcbitemize}
\end{document}