投影仪幻灯片中是否有一个简单的命令可以设置可用高度?

投影仪幻灯片中是否有一个简单的命令可以设置可用高度?

我想在投影仪幻灯片中添加两个图形,一个在另一个上面。是否有一个简单的命令,类似于\linewidth\textwidth用于高度?图形的尺寸大约是其高度的两倍。我希望它们使用整个垂直空间而不侵占标题/控件。如果它们的尺寸是相反的,我会使用将它们并排放置width=0.5\linewidth。我不确定高度模拟。

这是我现在使用的。作为替代方案,我使用\paperhieght但随后必须目视检查所选的比例因子是否为底部的标题和控件留出了足够的空间。

 \begin{frame}{4$\times$167 gH5 in 10 mM K$^{+}$: Comparison}
  \begin{center}
    \includegraphics[height=0.4\paperheight]{figures/array_models/i1_r_c000_4x167_h5_k010_33_fit}\\
    \onslide<2>{
      \includegraphics[height=0.4\paperheight]{figures/array_models/i1_r_best1000_c000_4x167_h5_k010_33_fit}
    }
  \end{center}
\end{frame}

除了必须检查比例因子之外,这还有一个缺点,即如果我添加/删除框架标题或切换到其他主题,则必须更改它。如果我改用可用的幻灯片高度,则可能不需要更新它。

答案1

@cfr 是对的。这个尺寸\beamer@frametextheight是最近才计算出来的。事实上,这个尺寸只在两个地方使用:\framezoomshrink。因此,有两种方法可以利用整个垂直空间。

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\frame{{use \tt\string\framezoom}
    \framezoom<1><2>(0cm,0cm)(5cm,5cm)
    \tikz\draw(0,0)grid(5,5);
}
\frame{{use \tt shrink}
    \centering
    \tikz\draw(0,0)grid(20,20);
}
\frame[shrink]{{use \tt shrink}
    \centering
    \tikz\draw(0,0)grid(20,20);
}
\end{document}

然而令人烦恼的是内容没有居中。人们可能想beamerbaseframesize.sty自己检查并修改计算。

人们可能会使用但是,使用的钩子shrink来填写他们想要的内容。

\makeatletter
\frame{{use hook from \tt shrink}
    \global\beamer@shrinktrue
    \gdef\beamer@shrinkframebox{
        \setbox\beamer@framebox=\vbox to\beamer@frametextheight{
            \centering
            \tikz[font={\tt}]\draw(0,0)node[above left]{(0,0)}rectangle(4,\beamer@frametextheight)node[below right]{(4,\string\beamer@frametextheight)}(2,.5\beamer@frametextheight)circle(.05)node[right]{(2,.5\string\beamer@frametextheight)};
        }
    }
}

相关内容