TeXからPDFへの変換をmakeコマンドで
TeXからdvi、dviからPDFへの変換を楽にしたかった。
はじめに
配属されている研究室の週報や卒業論文はtex形式で作成することになるので、Makefileを作成してみました。
texとかmakeについて
TeX Wiki Linuxコマンド集 - 【make】コンパイル等の処理を自動的に行う:ITpro
texのインストールについて
一般的な変換
# tex -> dvi $ platex sample.tex # dvi -> pdf $ dvipdfmx sample
理想的な変換
# tex -> pdf $ make
Makefileの作成
Makefileについて
自動化のためのGNU Make入門講座 - Makefileの基本:ルール
作成したMakefile
Makefile
.SUFFIXES: .tex .dvi .pdf all: sample.pdf clean: rm -rf *.aux *.dvi *.log .tex.dvi: platex -kanji=euc $< .dvi.pdf: dvipdfmx $< sample.pdf: sample.tex sample.dvi
Makefileの解説
ざっくりと流れを説明します。 まずは標準のターゲットと、依存関係を明示します。
# 標準のターゲット all: sample.pdf # pdfの依存関係 sample.pdf: sample.tex sample.dvi
これで引数無しでmakeを実行すると、allがターゲットになります。 sample.pdfの作成には、texからdvi、dviからpdfへ変換する必要があるので、 その関係を明示します。
# dviが必要ならtexから作成する .tex.dvi: platex $< # pdfが必要ならdviから作成する .dvi.pdf: dvipdfmx $<
拡張子を利用したルールを明示することで、pdfへの変換に必要な依存関係をトップダウンで洗い出し変換していってくれます。
おわりに
おまけ
ptex2pdf
ptex2pdfコマンドが使えるなら、texからpdfへの変換は一発です。
$ ptex2pdf -l -ot -kanji=euc sample
けど、makeの方がタイプ数少なくていいですよね。
tex執筆環境
論文の執筆には句読点にピリオドとカンマを利用することがあると思います。
Emacs勢な私の環境ファイルをそっと添えておきます…。
GitHub: tsukachu/dotfiles