我尝试过很好的建议从之前的一个问题中我问过我遇到了类似的问题不幸\vphantom
的是它在以下例子中不起作用:
我有一个有两列的框架:左列将从 itemize text -> image 1 -> image 2 right column will go from
图像 3 -> 图像 3 -> 图像 4`
当我从幻灯片 1 转到幻灯片 2 时,应该保持不变的图像 3 却移动了。有什么技巧可以防止这种情况发生吗?
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{braket}
\usepackage{geometry}
\usepackage{empheq}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{animate}
%\usepackage[backend=biber,url=false,doi=false,isbn=false,firstinits=true]{biblatex}
\begin{document}
\begin{frame}{Stuff}{More stuff}
\begin{columns}[T]
\begin{column}[T]{0.5\textwidth}
\onslide<1>{
\begin{itemize}
\item text 1
\item text 2
\end{itemize} }
\includegraphics<2>[width=\textwidth]{measurement_1.png}
\includegraphics<3>[width=\textwidth]{measurement_2.png}
\end{column}
\begin{column}[T]{0.5\textwidth}
\includegraphics<1-2>[width=\textwidth]{meas3.png}
\includegraphics<3>[width=\textwidth]{meas4.png}
\end{column}
\end{columns}
\end{frame}
\end{document}
答案1
您可以使用parbox
。命令如下\parbox[position][height][content position]{width}{text}
。注意:
- 我没有你使用的图像,所以高度
parbox
只是一个猜测,请根据你的需要进行调整(这也是为什么课程中有演示选项) - beamer 已经加载 graphicx,无需再次加载
- 当您进行 MWE 时,最好删除所有不会导致错误/问题的加载包。特别是,我可以重现您的问题,而无需加载您序言中的任何包,所以我在这里删除了它们 :-)
- 我这样做是为了让所有内容在列中垂直居中,因为我假设您使用
[T]
对齐方式是因为 beamer 手册的建议。如果您想要顶部对齐,只需t
在parbox
\documentclass[demo]{beamer}
\begin{document}
\begin{frame}{Stuff}{More stuff}
\begin{columns}
\begin{column}{0.5\textwidth}
\parbox[c][0.55\textheight][c]{\columnwidth}{
\onslide<1>{
\begin{itemize}
\item text 1
\item text 2
\end{itemize} }
\includegraphics<2>[width=\textwidth]{measurement_1.png}
\includegraphics<3>[width=\textwidth]{measurement_2.png}
}
\end{column}
\begin{column}{0.5\textwidth}
\includegraphics<1-2>[width=\textwidth]{meas3.png}
\includegraphics<3>[width=\textwidth]{meas4.png}
\end{column}
\end{columns}
\end{frame}
\end{document}
答案2
这是overlayarea
为 而设计的beamer
;语法是:
\begin{overlayarea}{<width>}{<height>}
...
\end{overlayarea}
完整示例:
\documentclass[demo]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{subfig}
\usepackage{braket}
\usepackage{empheq}
\usepackage{animate}
%\usepackage[backend=biber,url=false,doi=false,isbn=false,firstinits=true]{biblatex}
\begin{document}
\begin{frame}{Stuff}{More stuff}
\begin{overlayarea}{\textwidth}{\textheight}
\begin{columns}[T]
\begin{column}[T]{0.5\textwidth}
\onslide<1>{
\begin{itemize}
\item text 1
\item text 2
\end{itemize} }
\includegraphics<2>[width=\textwidth]{measurement_1.png}
\includegraphics<3>[width=\textwidth]{measurement_2.png}
\end{column}
\begin{column}[T]{0.5\textwidth}
\includegraphics<1-2>[width=\textwidth]{meas3.png}
\includegraphics<3>[width=\textwidth]{meas4.png}
\end{column}
\end{columns}
\end{overlayarea}
\end{frame}
\end{document}
改变高度参数,你可以得到不同的垂直对齐方式:
\documentclass[demo]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{subfig}
\usepackage{braket}
\usepackage{empheq}
\usepackage{animate}
%\usepackage[backend=biber,url=false,doi=false,isbn=false,firstinits=true]{biblatex}
\begin{document}
\begin{frame}{Stuff}{More stuff}
\begin{overlayarea}{\textwidth}{.5\textheight}
\begin{columns}[T]
\begin{column}[T]{0.5\textwidth}
\onslide<1>{
\begin{itemize}
\item text 1
\item text 2
\end{itemize} }
\includegraphics<2>[width=\textwidth]{measurement_1.png}
\includegraphics<3>[width=\textwidth]{measurement_2.png}
\end{column}
\begin{column}[T]{0.5\textwidth}
\includegraphics<1-2>[width=\textwidth]{meas3.png}
\includegraphics<3>[width=\textwidth]{meas4.png}
\end{column}
\end{columns}
\end{overlayarea}
\end{frame}
\end{document}
classdemo
选项只是用黑色矩形替换实际图形;不是在实际文档中使用该选项。