是否可以创建一个仅具有主体而没有标题的定制投影仪块环境?
例如,我希望将下面的引言排版在彩色块内,使其突出,但我不需要该块的标题。我只想将引言叠加在彩色、圆形和阴影的框上。
\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
。