覆蓋是最爲基本的一種幻燈片效果。嚴格地說,它甚至不是”動態“效果,而只是把同一幀幻燈片的不同內容按一定的次序拆分成幾頁顯示出來。
利用覆蓋可以讓內容逐步顯示出來,例如讓一個列表項分成幾步顯示出來,也可以讓不同的內容依次代替,產生類似動畫的效果。
逐步顯示是最爲常用的覆蓋效果。其基本的命令是\pause,表示幻燈片在此處會停頓一下,在\puase後面的所有內容會在pdf文件的下一頁顯示。例如,可以在一幀的每段話後面使用\pause,讓文字一段一段地顯示出來。
可以給目錄命令\tableofcontents加上pausesectitions選項,這樣目錄會在每一項後面暫停,例如:
-
\begin{frame}
-
-
\tableofcontents[pausesections]
-
-
\section{Android設計}
-
-
\section{Android開發}
-
-
\section{Android發佈}
-
\end{frame}
但是這裏要注意一下引入其他的宏包可能會使得這個效果出現一些意想不到的錯誤。可能是Latex內核的程序還不完善存在bug的原因。
上次我在幻燈片里加入了\uspackage{arev}宏包使得顯示動畫的時候出了一些問題。
更爲一般的是\onslide,它可以指定內容在一幀中的第幾步顯示,使用\onslide時不顯示的內容還佔用它原來的位置。
與onslide相似的就是\only命令,不過only命令在不顯示的步驟沒有額外的佔位,可以得帶內容替代的效果。
舉一個onslide效果的例子,代碼如下所示:
-
\begin{frame}{動畫效果展示}
-
\onslide<1>{只有第一部}
-
-
\onslide<2->{第二部之後}
-
-
\onslide<1,3>{第1,3兩步}
-
\end{frame}
\onslide和\only命令還有許多變種,這些命令的效果都大同小異,\uncover和\visible與\onslide大體相同,只是用不同的方式隱藏文字;\invisible與\visible與\onslide大體相同,只是用不同的方式隱藏文字;\invisible與\visible具有相反的效果;\alt可以分別設置在指定步驟和步驟外的內容,而\temporal則可以分別指定知道那個步驟與此步驟前後的內容,這裏不再詳細舉例。
這種使用尖括號表示步驟的覆蓋語法,實際上在beamer的很多命令和環境後面都可以使用,例如:
-
\begin{frame}
-
\textbf<3>{只在第三步加粗}
-
\end{frame}
這種在<>括號中加入數字在itemize中最爲常用,用來表示列表項目出現的先後順序。
如下面的代碼顯示:
-
\begin{frame}{動畫顯示}
-
\begin{itemize}
-
\item<1->顯示列表一
-
-
\item<2->顯示列表二
-
-
\item<3->顯示列表三
-
-
\end{itemize}
-
\end{frame}
還有另一種表示這種動畫的代碼米奇形式更爲簡潔:
-
\begin{frame}
-
\begin{itemize}[<+->]
-
\item 開始顯示
-
\item 其次顯示
-
\item 最後顯示
-
\end{itemize}
-
\end{frame}
在Latex中structure和alert命令則用於在指定的步驟設置高亮,前者使用幻燈片結構的色彩,後者使用的是更鮮明的警告色彩(一般是紅色)。他們可以帶上覆蓋的語法。
爲了使高亮命令作爲覆蓋語法的一部分,我們舉一個例子:
-
\begin{frame}{動畫顯示}
-
\begin{itemize}
-
\item<+-| structure@+>顯示列表一
-
-
\item<2-| alert@+>顯示列表二
-
-
\item<3->顯示列表三
-
-
\end{itemize}
動畫的效果還有很多,但是有些功能我實現的時候還是會報錯,之後會繼續研究,找到正確的方法之後再更新blog。