Latex使用技巧:插入.gif動畫

本文內容:如何在 LaTeX 中插入 GIF 格式的動圖

分爲兩大步驟:

  1. 利用 ImageMagick 開源工具將 GIF 格式的動圖逐幀地切分成一系列 PNG 格式的圖片;
  2. 在 LaTeX 中用 animate 宏包插入拆分得到的一系列圖片,變成動畫。

第一步:ImageMagick的下載、安裝、使用

gif 轉 png 神器——ImageMagick

下載

Windows 用戶請到這裏下載對應版本的安裝包。

安裝

安裝ImageMagick過程中務必請注意:應當勾選 Install legacy utilities(e.g. convert) (否則就沒有convert 命令,筆者的親歷).

在這裏插入圖片描述

使用

既有圖形界面的使用,也可以用命令行使用。(參考文末的參考資料)

下圖是圖形界面:
在這裏插入圖片描述
本文使用命令行方式將 .gif 分割爲 png。假設我要處理的圖片爲 foo.gif:
1. 首先進入要處理的圖片所在的文件夾,在地址欄輸入cmd,回車,打開命令窗口。
在這裏插入圖片描述
2. 運行convert 命令:

convert foo.gif -coalesce foo.png

在這裏插入圖片描述

運行結束後就可以在相同文件夾下獲得一系列分解後的 png 圖片(這裏我得到了foo-0.png ~ foo-300.png 一共301張):

在這裏插入圖片描述

第二步: LaTeX 中 animate 宏包的使用

animate 宏包支持目前最流行的幾種編譯方式:

  • pdfLaTeX / LuaLaTeX
  • LaTeX -> dvips -> ps2pdf / LaTeX -> dvipdfmx
  • XeLaTeX -> xdvipdfmx

支持這些特性的 PDF 閱讀器比較少。目前已知的有

  • Adobe Acrobat / Reader
  • PDF-XChange
  • Foxit Reader

(福昕閱讀器好像就不行)

使用

  • 引入animate 宏包:\usepackage[<options>]{animate}
  • 此前必須先引入 graphicx 宏包

animate 提供了 \animategraphics 命令,用於插入「一系列」的圖片,而後將他們組成動畫——相當於插入了動圖。

命令格式爲:

\animategraphics[<options>]{<frame rate>}{<file basename>}{<first>}{<last>}

此處 options 是命令的參數,主要用於控制動畫的各種效果(具體參數介紹請看下一節【附:option命令參數】)。這部分參數大都也可用於宏包選項。frame rate 的單位是 Hz,表示 1 秒鐘內,「放映」多少幀。

一個完整的具體的可執行例子如下:

\documentclass{beamer}
\usepackage{graphicx} % Allows including images
\usepackage{animate}

\begin{document}
\animategraphics[width=\linewidth, autoplay=True]{24}{figure/foo-}{0}{300}
\end{frame}

效果如下,pdf 打開滑到此頁,動畫自動播放:
在這裏插入圖片描述

附:option命令參數

(參考來源這裏
-type=<type name>:使用指定的圖片類型(而不按照前面提到的順序搜索)。

  • poster[= first | <num> | last | none]:指定用於打印和默認展示的動畫幀,默認是第一幀。
  • autopause:當動畫所在頁不再呈現時,自動暫停動畫。
  • autoresume:當被暫停的動畫重新呈現時,自動恢復播放。
  • autoplay:當動畫所在頁在 PDF 閱讀器中呈現時,自動播放動畫。
  • loop:播放到最後一幀時,從第一幀開始繼續播放;如此往復。
  • palindrome:播放到最後一幀時,逐幀倒退;如此往復。
  • step:忽略 frame rate,只在每次點擊鼠標時播放一幀。
  • width=<h-size>, height=<v-size>, totalheight=<v-size>, keepaspectratio:按絕對長度縮放動畫的大小。
  • scale=<factor>:按比例縮放動畫的大小。
  • controls:展示用於控制動畫的按鈕。
  • begin=<begin content>, end=<end content>:僅用於 animateinline 環境,在每一幀的內容前後添加相應內容。

附:參考資料

參考資料

-------完結撒花★,°:.☆( ̄▽ ̄)/$:.°★ 。--------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章