问题是,如何使beamercolorbox
页面水平居中?
我把它放到center
环境中,但是不起作用。
\setbeamercolor{背景颜色}{fg=黑色,bg=蓝色} \开始{中心} \begin{beamercolorbox}[rounded=true, center=true, shadow=true, wd=6cm]{背景颜色} 此处有一些文字... \end{beamercolorbox} \结束{中心}
答案1
wd=<dimen>
不仅beamercolorbox
将的宽度设置为<dimen>
,还将 设置\hsize
为<dimen>
。因此,您将一个框置于与该框宽度相同的行的中心,结果什么也没有。
因此,为了强制居中,使用一些\hfill
:
\documentclass{beamer}
\setbeamercolor{bgcolor}{fg=black,bg=blue}
\begin{document}
\begin{frame}
\hfill
\begin{beamercolorbox}[rounded=true, center, shadow=true,wd=6cm]{bgcolor}
Some text goes here...
\end{beamercolorbox}
\hfill\hfill
\end{frame}
\end{document}
我不确定为什么最后需要两个——看起来前面和后面各一个可以起到居中的作用。但实际上你只需要一个盒子就可以了。所以多一个就可以了。
答案2
以下是保持环境的答案center
:
\documentclass{beamer}
\setbeamercolor{bgcolor}{fg=black,bg=blue}
\begin{document}
\begin{frame}
\begin{center}
~
\begin{beamercolorbox}[rounded=true, center, shadow=true,wd=6cm]{bgcolor}
Some text goes here...
\end{beamercolorbox}
~
\end{center}
\end{frame}
\end{document}
马修的回答给了我提示。诀窍是确保颜色框不是仅有的位于要居中行上的某个东西。那么它本身就不被视为一个框,而是更大东西的一个组成部分。因此,接下来要搜索的是要放在行上但最终输出中看不到的东西。如果它的宽度不为零,则需要将其放在前面和后面,以确保居中仍然在中间。不间断空格 ( ~
) 似乎是最简单的做法。
答案3
一个简单的解决方案,对我来说稍微不那么混乱,就是创建一个自动居中的单列:
\begin{frame}
\begin{columns}
\column{.7\linewidth}
\begin{beamercolorbox}[rounded=true, center, shadow=true]{bgcolor}
Some text goes here...
\end{beamercolorbox}
\end{columns}
\end{frame}
经验表明,无论如何,最终人们至少还需要一列;)