Git でバージョン管理された $latex \TeX$ ドキュメントの作成過程を GIF アニメーションに変換するシェルスクリプト tex-to-gif を作成しました. この記事では tex-to-gif の使用例を簡単に紹介します.
準備
tex-to-gif を利用するためには以下の準備が必要です.
- Bash・Git・ImageMagick を利用できること
- TeX ドキュメントのコンパイルを簡単に (出来れば単一のコマンドで) 実行できること
- latexmk や Make, OMake などを利用することを想定しています
使用例
この記事では ymyzk/tex-to-gif-example に公開している例を使って説明します. この例では,
- TeX ドキュメントのファイルは
document.tex
-
latexmk document.tex
を実行してコンパイルする - 出力される PDF ファイルは
document.pdf
という条件のプロジェクトで tex-to-gif を利用します. 使用例は以下のようになります.
git clone --recursive https://github.com/ymyzk/tex-to-gif-example.git
./tex-to-gif/tex-to-gif.sh \
--tex-build 'latexmk document.tex' \
--tex-pdf 'document.pdf' \
--image-geometry '300x' \
--image-tile '2x' \
--animation-delay 20
実行の様子:
GIF アニメーションは animation.gif
として出力されます:
tex-to-gif は以下のような動作を行います.
- Git リポジトリから対象となるコミットをリストアップする (デフォルトでは
git rev-list --reverse master
が使用されます.--tex-commits
オプションで上書き可能) - Git リポジトリのコミットを順にチェックアウトし
-
--tex-build
オプションで指定されたコマンドでドキュメントをコンパイルします -
--tex-pdf
オプションで指定された出力ファイルから, GIF 画像を生成します. このとき--image-geometry
や--image-tile
で指定されたオプションをもとに, montage コマンドを使って複数ページの画像を結合した画像が生成されます. (この例では1ページの幅は300px, 横に2ページ分並べた画像を生成する.)
-
- 最後にすべての GIF ファイルを結合してアニメーション GIF ファイルを出力します.
--animation-delay
オプションでアニメーションのスピードを設定できます.
最後に
実用性はないスクリプトですが, 論文やレポート等のリポジトリで実行してみると面白いかもしれません. 念のため Git リポジトリをバックアップしてから実行することをおすすめします.