![语境](https://linux22.com/image/380927/%E8%AF%AD%E5%A2%83.png)
语境
在我最近的演示中,我可能遇到了 beamer 包中的一个错误。由于当今的屏幕尺寸大多为 16:9 或 16:10,我将设置更改为 16:10 比例。在执行此操作时,我在带有图像的列设置中使用 itemize 时遇到了跳动的问题。奇怪的是,关闭比例选项(改回 4:3)后问题就消失了
要求
有没有一个舒适的解决方案来解决这个问题?我尝试过,\begin{overlayarea}{..}{..} ... \end{overlayarea}
但没有得到我想要的结果。
对 MWE 的评论
- 使用第一个 MWE,您可以重现跳跃错误。您的有放一张图片,否则不会发生错误 - 至少对我来说。
- 第二个 MWE 提供了一个半工作解决方案,但我不满意,因为定位不对。奇怪的是,当我试验
overlayarea
(回旋 0.6)的高度参数时,我又跳了起来。 - 最后,第三个 MWE 提供与第一个 MWE 完全相同的代码,但是没有
aspectratio=1610
然后,跳跃就消失了
带跳跃的 MWE
\documentclass[aspectratio=1610]{beamer}
\usepackage[english, ngerman]{babel}
\usetheme{Frankfurt}
\usecolortheme{beaver}
\usepackage[sfdefault,lf]{carlito}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\carlitoOsF #1}
\begin{document}
\section{Testsection}
\subsection{Something}
\begin{frame}\frametitle{Test}
\begin{columns}
\begin{column}{.5\linewidth}
\begin{itemize}
\uncover<1->{\item Hi}
\uncover<2->{\item Hello}
\uncover<3->{\item Hi again}
\uncover<4->{\item Hi again}
\uncover<5->{\item Hello again}
\end{itemize}
\end{column}
\begin{column}{.5\linewidth}
\includegraphics[width=\textwidth]{PictureOfYourChoice}<1>
\includegraphics[width=\textwidth]{PictureOfYourChoice}<5>
\end{column}
\end{columns}
\end{frame}
\end{document}
MWE 半工作状态
\documentclass[aspectratio=1610]{beamer}
\usepackage[english, ngerman]{babel}
\usetheme{Frankfurt}
\usecolortheme{beaver}
\usepackage[sfdefault,lf]{carlito}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\carlitoOsF #1}
\begin{document}
\section{Testsection}
\subsection{Something}
\begin{frame}\frametitle{Test}
\begin{columns}
\begin{column}{.5\linewidth}
\begin{overlayarea}{\textwidth}{.8\textheight}
\begin{itemize}
\uncover<1->{\item Hi}
\uncover<2->{\item Hello}
\uncover<3->{\item Hi again}
\uncover<4->{\item Hi again}
\uncover<5->{\item Hello again}
\end{itemize}
\end{overlayarea}
\end{column}
\begin{column}{.5\linewidth}
\includegraphics[width=\textwidth]{PictureOfYourChoice}<1>
\includegraphics[width=\textwidth]{PictureOfYourChoice}<5>
\end{column}
\end{columns}
\end{frame}
\end{document}
MWE 没有跳跃,但 4:3
\documentclass[
%aspectratio=1610
]{beamer}
\usepackage[english, ngerman]{babel}
\usetheme{Frankfurt}
\usecolortheme{beaver}
\usepackage[sfdefault,lf]{carlito}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\carlitoOsF #1}
\begin{document}
\section{Testsection}
\subsection{Something}
\begin{frame}\frametitle{Test}
\begin{columns}
\begin{column}{.5\linewidth}
\begin{itemize}
\uncover<1->{\item Hi}
\uncover<2->{\item Hello}
\uncover<3->{\item Hi again}
\uncover<4->{\item Hi again}
\uncover<5->{\item Hello again}
\end{itemize}
\end{column}
\begin{column}{.5\linewidth}
\includegraphics[width=\textwidth]{PictureOfYourChoice}<1>
\includegraphics[width=\textwidth]{PictureOfYourChoice}<5>
\end{column}
\end{columns}
\end{frame}
\end{document}
新增 (2018.08.15)
当使用不同高度的图像时,较小的图像将固定在顶部overlayarea
。有没有办法将图像置于区域的中心?
我稍微修改了您的解决方案:
平均能量损失
\documentclass[aspectratio=1610]{beamer}
\usepackage[english, ngerman]{babel}
\usetheme{Frankfurt}
\usecolortheme{beaver}
\usepackage[sfdefault,lf]{carlito}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\carlitoOsF #1}
\begin{document}
\section{Testsection}
\subsection{Something}
\begin{frame}\frametitle{Test}
\begin{columns}[onlytextwidth]
\begin{column}{.5\linewidth}
\begin{itemize}
\uncover<1->{\item Hi}
\uncover<2->{\item Hello}
\uncover<3->{\item Hi again}
\uncover<4->{\item Hi again}
\uncover<5->{\item Hello again}
\end{itemize}
\end{column}
\begin{column}{.5\linewidth}
\begin{overlayarea}{\textwidth}{.5\textheight}
\includegraphics<1>[width=\textwidth]{example-image-duck}
\includegraphics<5>[width=\textwidth, height=.3\textheight,page=3]{example-image-duck}
\end{overlayarea}
\end{column}
\end{columns}
\end{frame}
\end{document}
答案1
如果您想使用它overlayarea
来防止跳跃,请将其放置在最高元素周围 - 在您的情况下是图像而不是项目化。
就我个人而言,我会使用顶部对齐的框架/列(即\begin{frame}[t]
),以相当可靠地防止跳跃。
\documentclass[aspectratio=1610]{beamer}
\usepackage[english, ngerman]{babel}
\usetheme{Frankfurt}
\usecolortheme{beaver}
\usepackage[sfdefault,lf]{carlito}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\carlitoOsF #1}
\begin{document}
\section{Testsection}
\subsection{Something}
\begin{frame}\frametitle{Test}
\begin{columns}[onlytextwidth]
\begin{column}{.5\linewidth}
\begin{itemize}
\uncover<1->{\item Hi}
\uncover<2->{\item Hello}
\uncover<3->{\item Hi again}
\uncover<4->{\item Hi again}
\uncover<5->{\item Hello again}
\end{itemize}
\end{column}
\begin{column}{.5\linewidth}
\begin{overlayarea}{\textwidth}{.5\textheight}
\includegraphics<1>[width=\textwidth]{example-image-duck}
\includegraphics<5>[width=\textwidth,page=3]{example-image-duck}
\end{overlayarea}
\end{column}
\end{columns}
\end{frame}
\end{document}
编辑
对于不同高度的垂直居中图像,我建议minipage
\documentclass[aspectratio=1610]{beamer}
\usepackage[english, ngerman]{babel}
\usetheme{Frankfurt}
\usecolortheme{beaver}
\usepackage[sfdefault,lf]{carlito}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\carlitoOsF #1}
\begin{document}
\section{Testsection}
\subsection{Something}
\begin{frame}\frametitle{Test}
\begin{columns}[onlytextwidth]
\begin{column}{.5\linewidth}
\begin{itemize}
\uncover<1->{\item Hi}
\uncover<2->{\item Hello}
\uncover<3->{\item Hi again}
\uncover<4->{\item Hi again}
\uncover<5->{\item Hello again}
\end{itemize}
\end{column}
\begin{column}{.5\linewidth}%
\begin{minipage}[t][.5\textheight][c]{\textwidth}
\includegraphics<1>[width=\textwidth]{example-image-duck}%
\includegraphics<5>[width=\textwidth, height=.3\textheight,page=3]{example-image-duck}%
\end{minipage}%
\end{column}
\end{columns}
\end{frame}
\end{document}