显示覆盖区域周围的轮廓

显示覆盖区域周围的轮廓

使用 beamer 时,是否有办法显示覆盖区域周围的轮廓以更快地确定正确的高度?如果没有,建议采用什么方法来确定要设置的正确高度?我目前的方法是反复试验,看看它是否看起来居中。

答案1

是的,你可以添加它。这是一个稍微复杂一些的版本,可以通过开关打开和关闭。

\documentclass{beamer}
\makeatletter
\newif\ifbeamer@show@overlayarea
\pgfkeys{/beamer/overlayarea/.cd,show frame/.is if=beamer@show@overlayarea,
show frame/.default=true}
\beamer@show@overlayareafalse
\mode
<presentation>
{\renewenvironment{overlayarea}[3][]{%
  \pgfkeys{/beamer/overlayarea/.cd,#1}%
  \beamer@animht=#2\relax
  \beamer@animwd=#3\relax
  \setbox\beamer@areabox=\vbox to\beamer@animwd\bgroup
  \strut\begin{minipage}[t]{\beamer@animht}%
  % Make the minipage behave like the main part of the slide
  \normalfont
  \raggedright
  }
  {%
  \end{minipage}\endgraf\vfil
  \egroup
  \wd\beamer@areabox=\beamer@animht
  \ht\beamer@areabox=\beamer@animwd
  \dp\beamer@areabox=0pt %
  \ifbeamer@show@overlayarea
   \bgroup\fboxsep=0pt\relax
   \hspace*{-0.4pt}\vspace*{-0.4pt}%
   \fbox{\box\beamer@areabox}\hspace*{-0.4pt}\vspace*{-0.4pt}%
   \egroup
  \else
   \box\beamer@areabox
  \fi 
}}
\makeatother
\begin{document}
\begin{frame}[t]
\frametitle{W/o show}
\begin{overlayarea}{\textwidth}{3cm}
      \only<1>{Some text for the first slide.\\Possibly several lines long.}
      \only<2>{Replacement on the second slide.}
\end{overlayarea}
\end{frame}

\begin{frame}[t]
\frametitle{W/ show}
\begin{overlayarea}[show frame]{\textwidth}{3cm}
      \only<1>{Some text for the first slide.\\Possibly several lines long.}
      \only<2>{Replacement on the second slide.}
\end{overlayarea}
\end{frame}
\end{document}

在此处输入图片描述

如果你想为所有 s 打开框架overlayarea(除了你说的那些show frame=false),你可以使用

\pgfkeys{/beamer/overlayarea/show frame=true}

在您的文档中的某个时刻,会发生此更改。

相关内容