我想将两个框并排放置,并在两个框下方放置一个框,使它们对齐。我考虑使用列,但对齐方式不一致。
这里是我的最小例子:
\documentclass[t,aspectratio=169]{beamer}
\usetheme{boxes}
\usecolortheme{rose}
\begin{document}
\begin{frame}
\frametitle{test}
\begin{columns}
\begin{column}{0.5\linewidth}
\begin{block}{left}
text
\end{block}
\end{column}
\begin{column}{0.5\linewidth}
\begin{block}{right}
text
\end{block}
\end{column}
\end{columns}
\begin{block}{middle}
text
\end{block}
\end{frame}
\end{document}
输出:
但我希望得到这样的东西:
解决此问题的最佳做法是什么?
在我写这篇文章的时候,这个网站的算法向我推荐了一些类似的帖子,其中一篇帖子有一个onlytextwidth
用于列环境的可选参数。但这会导致两个接触的块。然后我可以将列的大小减小到例如,0.48\textwidth
这出乎意料地有效。我预计这两个块不会在右侧对齐。
这column
文档并没有真正告诉我它是如何排列列的。
因此,即使我找到了某种解决方案,我仍然想知道“最佳”解决方案是什么样的。
答案1
onlytextwidth
是最好的解决方案。
话虽这么说,这就是 beamer 创建列的方式:
如果没有该
onlytextwidth
选项,beamer 不会将左/右边距应用于列,而是使用\hfill
:<left margin> normal text <right margin> < \hfill > | column 1 | < \hfill > | column 2 | < \hfill >
这意味着,即使你的列加起来等于整体
\textwidth
,中间仍然会有空间,但边距是错误的使用
onlytextwidth
选项:<left margin> normal text <right margin> <left margin> | column 1 | < \hfill > | column 2 | < right margin >
这意味着如果你的列加起来等于整体
\textwidth
,中间就没有空间\hfill
可以填充