![在 Beamer 中一步步向图片添加文本](https://linux22.com/image/303127/%E5%9C%A8%20Beamer%20%E4%B8%AD%E4%B8%80%E6%AD%A5%E6%AD%A5%E5%90%91%E5%9B%BE%E7%89%87%E6%B7%BB%E5%8A%A0%E6%96%87%E6%9C%AC.png)
我在投影仪框架中有一张图片,我想在其中添加文本和方程式,但不是一次性添加。相反,我想逐步添加它们。
我知道如何使用 \only<..> 和 \begin{overpic} 的组合来做到这一点,但问题是我必须在每个 \only 中不断重复所有内容。
关于如何在不重复所有事情的情况下做到这一点,有什么帮助吗?
编辑:
\documentclass{beamer}
\usefonttheme[onlymath]{serif}
\usepackage{mathrsfs}
\usepackage[percent]{overpic}
\usetheme{Warsaw}
\usetheme{Berlin}
\begin{document}
\begin{frame}{First Diagram}
%%%%%%%%%%%%%%%%%%%%%%%%
\only<1-1> {
\begin{columns}[T] % align columns
\begin{column}{.5\textwidth}
\begin{overpic}[scale=.5 ]{me.jpg}
\put(55,5) {$\bar{u}(3)$}
\end{overpic}
\end{column}%
%\hfill%
\begin{column}{.5\textwidth}
$\mathscr{M}=\int \bar u(3) $
\end{column}%
\end{columns}
}
\only<2-2> {
\begin{columns}[T] % align columns
\begin{column}{.5\textwidth}
\begin{overpic}[scale=.5 ]{me.jpg}
\put(55,5) {$\bar{u}(3)$}
\put (35,17) {$ ig \gamma^\mu$}
\end{overpic}
\end{column}%
%\hfill%
\begin{column}{.5\textwidth}
$\mathscr{M}=\int \bar u(3) ig \gamma^\mu$
\end{column}%
\end{columns}
}
\end{frame}
\end{document}
这两张幻灯片是代码的结果,它们正是我想要的
答案1
你可以使用 来tikzpicture
相当轻松地完成此操作。Caramdir 在这个答案帮助指定添加文本的适当位置。另一个答案解释了如何使用网格来帮助定位(如果需要)。
\documentclass{beamer}
\usefonttheme[onlymath]{serif}
\usepackage{mathrsfs,tikz}
\usetheme{Warsaw}
\usetheme{Berlin}
\begin{document}
\begin{frame}{First Diagram}
\begin{columns}[T] % align columns
\begin{column}{.5\textwidth}
\begin{tikzpicture}
% ref: https://tex.stackexchange.com/a/9561/ - Caramdir
\node (image) [anchor=south west, inner sep=0pt] {\includegraphics[scale=.5]{example-image-a}};
\begin{scope}[x={(image.south east)}, y={(image.north west)}]
\node <1-> at (.55,.05) {$\bar{u}(3)$};
\node <2-> at (.35,.17) {$ ig \gamma^\mu$};
\end{scope}
\end{tikzpicture}
\end{column}%
\begin{column}{.5\textwidth}
$\mathscr{M}=\int \bar u(3) $\onslide<2->{$ig \gamma^\mu$}
\end{column}%
\end{columns}
\end{frame}
\end{document}