このページについて |
概要:このページでは、Makeの使い方を蓄積します。
親ページ:このページの親ページは計量経済学のためのITスキルです。
目次 |
TeXを用いて研究論文を書いている場合、一つの論文を完成させるのに様々なファイルが必要になることがありますが、後から書き足したり図等を修正した際に、どのファイルをコンパイルしたかわからなくなり、結局、全てのファイルをコンパイルし直さなければならなくなったといった経験はないでしょうか。こういった問題はmakeを使用することで解決することができます。makeはファイルの更新時刻を比較し、必要なものだけをコンパイルし、自動でターゲットとするファイルを作成してくれます。
例えば、以下の様な構造でファイルが作成されるとします。
plot.R → fig.eps ↘
main.tex → main.dvi → main.pdf
plot.Rからfig1.epsが作成され、fig1.epsとmain.texからmain.dviが作成され、更にそれを元にしてmain.pdfが作成されるといった具合です。この様に、一つのファイルを作成するのにいくつものファイルが階層構造を成している様な場合でも、makeを利用することで必要なものだけをコンパイルし、簡単にファイルの変更を最終生成物に反映させることができます。
Mac OSXやLinuxであれば、基本的には最初から入っているので特にインストールする必要はありません。Windowsの場合は、MinGWもしくはCygwinの導入が必要です。
まず、ソースファイルの置いてあるフォルダにMakefileという名前のファイルを作成します。そして、そのファイルに、
作成ファイル: 元になるファイル コマンド
となるように最終的に生成されるファイルから順に記述していきます。この際、コマンドの行は先頭から4文字の空白、もしくはタブを入力することに気を付けて下さい。emacsではMakefileを作成するモードがあるのでそれを利用すると便利です。上の例では、
main.pdf: main.dvi dvipdfmx main.dvi main.dvi: main.tex fig.eps platex main.tex fig.eps: plot.R R CMD BATCH plot.R
という様に記述していくことになります。あとはファイルの置いてあるフォルダで
$make
と入力することで、必要なファイルはコンパイルし直され、ファイルの変更がターゲットとするファイル(ここではmain.pdf)に反映されます。
マクロやサフィックスについては、参考書籍にある文献を参照して下さい。