如何将 BeamerColorBox 置于中心

如何将 BeamerColorBox 置于中心

问题是,如何使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}

经验表明,无论如何,最终人们至少还需要一列;)

相关内容