无标题的 Beamer 块环境

无标题的 Beamer 块环境

是否可以创建一个仅具有主体而没有标题的定制投影仪块环境?

例如,我希望将下面的引言排版在彩色块内,使其突出,但我不需要该块的标题。我只想将引言叠加在彩色、圆形和阴影的框上。

\begin{example}
{\large ``To be, or not to be: that is the question.''}
\vskip5mm
\hspace*\fill{\small--- William Shakespeare, Hamlet}
\end{example}

如果没有,有没有关于如何在另一个包(如 tikz)中执行此操作的建议?

答案1

您可以使用exampleblock标题为空的环境:

\documentclass{beamer}
\usetheme{Warsaw}

\begin{document}

\begin{frame}
\begin{exampleblock}{}
  {\large ``To be, or not to be: that is the question.''}
  \vskip5mm
  \hspace*\fill{\small--- William Shakespeare, Hamlet}
\end{exampleblock}
\end{frame}

\end{document}

在此处输入图片描述

答案2

一个简单的解决方案,如 Beamer 手册第 124 页所述,可能是根据您的需要定制以下代码。

\setbeamercolor{postit}{fg=black,bg=yellow}
\begin{beamercolorbox}[sep=1em,wd=5cm]{postit}
Place me somewhere!
\end{beamercolorbox}

您还可以使它看起来像一个没有标题的块。

答案3

另一个可行的快速修复方法是,在\begin{block}{}导致块顶部出现一些丑陋的情况下,可以使用负垂直空间作为块标题:

\documentclass{beamer}

\usetheme{Copenhagen}

\setbeamertemplate{blocks}[default]

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}

\begin{block}{abc}
abcabc
\end{block}

\begin{block}{}
defdef
\end{block}

\begin{block}{\vspace*{-3ex}}
ghighi
\end{block}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\end{document}

答案4

我的解决方案是更改block begin模板。它的默认定义beamerinnerthemedefault.sty如下

\defbeamertemplate*{block begin}{default}
{
  \par\vskip\medskipamount%
  \begin{beamercolorbox}[colsep*=.75ex]{block title}
    \usebeamerfont*{block title}\insertblocktitle%
  \end{beamercolorbox}%
  {\parskip0pt\par}%
  \ifbeamercolorempty[bg]{block title}
  {}
  {\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
  \usebeamerfont{block body}%
  \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
    \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
}

您可以在文档中block begin通过删除定义的前几行来为没有标题创建一个附加选项:

%create template for block without title
\defbeamertemplate{block begin}{notitle}
{
  \usebeamerfont{block body}%
  \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
    \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
}

现在,您可以使用 关闭标题栏\setbeamertemplate{block begin}[notitle],然后使用 将其重新打开\setbeamertemplate{block begin}[default]

当然,这只有在您使用 时才适用,inner theme它使用\setbeamertemplate{block begin}[default]。如果您inner theme使用 的另一个选项block begin,则需要复制它并进行相应更改。rounded例如(由 所用inner theme rounded)在 中定义beamerauxtemplates.sty。此外,重新打开标题的命令需要从您的主题中复制,在这种情况下是从 复制beamerinnerthemerounded.sty

相关内容