我想要在幻灯片上规则排列 4 个相同的 tcolorbox。
这是我的代码:
\documentclass{beamer}
\usepackage{tcolorbox}
\begin{document}
\begin{frame}
\tcbset{width=(\linewidth-5mm)/3, before=, after=\hfill}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\end{frame}
\end{document}
由于某种原因,最后一个框稍微向左移动(见图)。
这是什么原因造成的?我该如何纠正?我可以添加 \hspace 来移动框,但这不是很方便。当在不同的幻灯片上使用不同大小的框或不同数量的行时(它总是出现在最后一行,与使用的行数无关),我每次都必须手动找出要添加的空间。谢谢你的帮助!
答案1
可以使用以下环境进行对齐tcbraster
:
\documentclass{beamer}
\usepackage[most]{tcolorbox}
\begin{document}
\begin{frame}
\begin{tcbraster}[raster columns=2,raster equal height,raster column skip=10mm]
\begin{tcolorbox} test \end{tcolorbox} \begin{tcolorbox} test \end{tcolorbox} \begin{tcolorbox} test \end{tcolorbox} \begin{tcolorbox} test \end{tcolorbox} \begin{tcolorbox} test \end{tcolorbox} \begin{tcolorbox} test \end{tcolorbox}
\end{tcbraster}
\end{frame}
\end{document}
答案2
感谢@Ignasi!将 tcolorboxes 的最后一行理解为段落的最后一行解决了这个问题。我只需要添加
{\parfillskip=0pt\par}
所以之前的例子现在看起来是这样的:
\documentclass{beamer}
\usepackage{tcolorbox}
\begin{document}
\begin{frame}
\tcbset{width=(\linewidth-5mm)/2, before=, after=\hfill}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}
\begin{tcolorbox}
test
\end{tcolorbox}{\parfillskip=0pt\par}
\end{frame}
\end{document}
输出结果正如它应该的那样: