更新

更新

我想创建一个交互式幻灯片,它包含两部分:

  1. 在左侧,enumerate环境中会给出一些注释(每个覆盖会突出显示一个)
  2. 在右侧,一张图片将伴随当前突出显示的文本(例如,该图像中将显示一个箭头)

例如,看看这个第 23 帧文件

截屏:

做这个的最好方式是什么?

根据要求,这是我正在尝试的(简短版本)......

平均能量损失

\documentclass{beamer}

\begin{document}
\begin{frame}
\begin{minipage}{0.2\textwidth}
\begin{enumerate}
\item this is 1
\item this is 2
\end{enumerate}
\end{minipage}
\hfill
\begin{minipage}{0.75\textwidth}
\only<1> {\includegraphics[width=.75\textwidth]{fig4-2}}
\only<2> {\includegraphics[width=.75\textwidth]{fig4-3}}
\end{minipage}
\end{frame}
\end{document}

图片如下:

图4-2

图4-3

更新


正如@GonzaloMedina在左侧部分(解决了我当前的问题)的回复,现在我只需要动态创建图像。这意味着,与其单独创建每个图像然后包含它,不如做一项繁琐而单调的工作。应该有更好的方法来从其前一个图像中重现一个图像。为了完成整个问题,根据他(Gonzalo Medina)的建议,我正在创建这个后续问题问题

答案1

以下是一种方法:

在此处输入图片描述

代码:

    \documentclass{beamer}
    \usepackage{tikz}
    \usetikzlibrary{tikzmark}

    \newcounter{tmp}
    \newcommand<>\Highlight[1]{%
    \stepcounter{tmp}%
    \only#2{\begin{tikzpicture}[remember picture,overlay]
    \fill[green!60!black,opacity=0.5] 
      ([xshift=-.2em,yshift=2ex]pic cs:start-\thetmp)
        rectangle  
      ([xshift=.2em,yshift=-1ex]pic cs:end-\thetmp);
    \end{tikzpicture}}%
    \tikzmark{start-\thetmp}#1\tikzmark{end-\thetmp}%
    }

    \begin{document}

    \begin{frame}

    \begin{minipage}{0.2\textwidth}
    \begin{enumerate}
    \item \Highlight<+>{this is 1}
    \item \Highlight<+>{this is 2}
    \item \Highlight<+>{this is 3}
    \item \Highlight<+>{this is 4}
    \item \Highlight<+>{this is 5}
    \end{enumerate}
    \end{minipage}
    \hfill
    \begin{minipage}{0.75\textwidth}
    \only<1> {\includegraphics[width=.75\textwidth]{fig4-2}}
    \only<2> {\includegraphics[width=.75\textwidth]{fig4-3}}
    \only<3> {\includegraphics[width=.75\textwidth,height=0.7cm]{example-image-a}}
    \only<4> {\includegraphics[width=.75\textwidth,height=0.7cm]{example-image-b}}
    \only<5> {\includegraphics[width=.75\textwidth,height=0.7cm]{example-image-c}}
    \end{minipage}
    \end{frame}

    \end{document}

使用该tikzmark库,\Highlight命令会在背景中放置一个彩色矩形。我在这里假设要突出显示的文本不超过一行;否则,将需要修改定义;例如,

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\newcounter{tmp}
\newcommand<>\Highlight[1]{%
\stepcounter{tmp}%
\only#2{\begin{tikzpicture}[remember picture,overlay]
\fill[green!60!black,opacity=0.5] 
  ([xshift=-.2em,yshift=2ex]pic cs:start-\thetmp)
    rectangle  
  ([xshift=.2em,yshift=-1ex]pic cs:end-\thetmp);
\end{tikzpicture}}%
\tikzmark{start-\thetmp}#1\hfill\tikzmark{end-\thetmp}%
}

\begin{document}

\begin{frame}

\begin{minipage}{0.3\textwidth}
\begin{enumerate}
\item \Highlight<+>{this is 1 and some other text}
\item \Highlight<+>{this is 2}
\item \Highlight<+>{this is 3}
\item \Highlight<+>{this is 4}
\item \Highlight<+>{this is 5}
\end{enumerate}
\end{minipage}
\hfill
\begin{minipage}{0.65\textwidth}
\only<1> {\includegraphics[width=\linewidth]{fig4-2}}
\only<2> {\includegraphics[width=\linewidth]{fig4-3}}
\only<3> {\includegraphics[width=\linewidth,height=0.7cm]{example-image-a}}
\only<4> {\includegraphics[width=\linewidth,height=0.7cm]{example-image-b}}
\only<5> {\includegraphics[width=\linewidth,height=0.7cm]{example-image-c}}
\end{minipage}
\end{frame}

\end{document}

在此处输入图片描述

该代码需要运行两次或三次才能稳定下来。

相关内容