Beamer - “僅”內的“發現”

Beamer - “僅”內的“發現”

我已經將 an 嵌套uncover在 an 中only,但它沒有按預期工作。我的文檔的標題是:

\documentclass[8pt]{beamer}

\mode<presentation>{\usetheme{Warsaw}}
\setbeamertemplate{navigation symbols}{}

\usepackage{empheq}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,backgrounds}

有問題的框架如下:

\begin{frame}[label=review]
\frametitle{A review of the steps}
\setbeamercovered{transparent}
\begin{columns}
\column{0.4\linewidth}
\begin{enumerate}[<+->]
\item \alert<1>{Supernova detection.}
\item \alert<2>{Spectroscopic confirmation.}
\item \alert<3,6>{Multi-band photometry.}
\item \alert<4,6>{Parameter extraction.}
\item \alert<5,6>{Hubble diagram fit.}
\end{enumerate}
\column{0.7\linewidth}
\begin{center}
  \begin{tikzpicture}%[show background grid]
    \node[anchor=south west,inner sep=0] (step1) at (0,0) {\includegraphics[width=0.18\linewidth]{figures/pedagogy/03D4ag-zoom1.png}};
    \begin{scope}[x={(step1.south east)},y={(step1.north west)}]
      \draw<1>[red] (0,0) rectangle (1,1);
    \end{scope}
  \end{tikzpicture}
  \begin{tikzpicture}%[show background grid]
    \node[anchor=south west,inner sep=0] (step2) at (0,0) {\includegraphics[width=0.18\linewidth]{figures/guypres/1994D_spectrum.pdf}};
    \begin{scope}[x={(step2.south east)},y={(step2.north west)}]
      \draw<2>[red] (0,0) rectangle (1,1);
    \end{scope}
  \end{tikzpicture}
  \begin{tikzpicture}%[show background grid]
    \node[anchor=south west,inner sep=0] (step3) at (0,0) {\includegraphics[width=0.18\linewidth]{figures/03D4ag-lc.png}};
    \begin{scope}[x={(step3.south east)},y={(step3.north west)}]
      \draw<3>[red] (0,0) rectangle (1,1);
    \end{scope}
  \end{tikzpicture}
  \begin{tikzpicture}%[show background grid]
    \node[anchor=south west,inner sep=0] (step4) at (0,0) {\includegraphics[width=0.18\linewidth]{figures/03D4ag-lc-model.png}};
    \begin{scope}[x={(step4.south east)},y={(step4.north west)}]
      \draw<4>[red] (0,0) rectangle (1,1);
    \end{scope}
  \end{tikzpicture}
  \begin{tikzpicture}%[show background grid]
    \node[anchor=south west,inner sep=0] (step5) at (0,0) {\includegraphics[width=0.18\linewidth]{figures/pedagogy/hubblediagram.png}};
    \begin{scope}[x={(step5.south east)},y={(step5.north west)}]
      \draw<5>[red] (0,0) rectangle (1,1);
    \end{scope}
  \end{tikzpicture}
\end{center}
\end{columns}

\begin{overlayarea}{\textwidth}{\textheight}
\only<1>{
  \begin{center}
    \includegraphics[width=0.4\textwidth]{figures/pedagogy/03D4ag-zoom1.png}
    \hspace{0.2cm}
    \includegraphics[width=0.4\textwidth]{figures/pedagogy/03D4ag-zoom3.png}
  \end{center}
}
\only<2>{
  \begin{center}
    \includegraphics[width=0.7\textwidth]{figures/guypres/1994D_spectrum.pdf}
  \end{center}
}
\only<3-4>{
  \begin{center}
    \includegraphics[width=0.4\textwidth]{figures/03D4ag-lc.png}
    \hspace{0.2cm}
    \uncover<4>{
      \includegraphics[width=0.4\textwidth]{figures/03D4ag-lc-model.png}
    }
  \end{center}
}
\only<5>{
  \begin{center}
    \includegraphics[width=0.7\textwidth]{figures/pedagogy/hubblediagram.png}
  \end{center}
}
\end{overlayarea}

\end{frame}

我期望的行為是 03D4ag-lc.png 將顯示在幻燈片 3 上,03D4ag-lc-model.png 將顯示在幻燈片 4 上,而不取代 03D4ag-lc.png。相反,03D4ag-lc-model.png 似乎完全忽略了該uncover命令,並且出現在兩張幻燈片上。這是正常的嗎?如果是這樣,實現我在這裡的目標的正確方法是什麼?

答案1

transparent在您的程式碼中,您透過巨集設定覆蓋效果\setbeamercovered{transparent}

正如 @JosephWright 所指出的,透明度不適用於匯入的圖像,因此當您嘗試使用以下命令揭開匯入的圖像時,根本沒有覆蓋效果:

\uncover<4>{
  \includegraphics[width=0.4\textwidth]{figures/03D4ag-lc-model.png}
}

要隱藏圖像,您需要使用以下命令重新設定透明度效果

\setbeamercovered{invisible}

我建議將規範放入您的內部,overlayarea以便它不會覆蓋框架其餘部分中的第一個設定。

您可能還想查看 Beamer 手冊的第 17.6 節。

相關內容