[make] *.texのmakefileで*.pdfを作る
makefileは依存関係を書くもの。hoge.texの中で何も参照していない場合。つまり、includegraphixとかしていない場合。
編集したhoge.texはplatexをとおってhoge.dviになる。つまり、hoge.dviはhoge.texに依存している。というわけで下が必要。
hoge.dvi: hoge.tex platex hoge.tex
今できたhoge.dviはdvipdfmxをとおってhoge.pdfになる。つまり、hoge.pdfはhoge.dviに依存している。というわけで下が必要。
hoge.pdf: hoge.dvi dvipdfmx hoge.dvi
makefile作って普通にmakeとやると選択されるレシピは一番上のレシピから実行される。でもあとからのことを考えてallというレシピを一番上に作っておく。今までの例で行くと、TARGET:SOURCEという行を書いて、タブでインデントしてSOURCEからTARGETを作るコマンドを書いた。つまり、一番下のTARGETつまり、最終的にできるものがallレシピのSOURCEになる。allはhode.texに依存している。
all: hoge.tex
結局欲しいのはhoge.pdfでありhoge.texから作られる中間生成ファイルはいらない。なので、中間生成ファイルをリストアップしておいていつでも消せるようにしておく。このときよくあるレシピの書き方がcleanである。つまるところhoge.dviもhoge.pdfができればいらない。hoge.pdfも印刷したらいらない。ということで、hoge.texとmakefile以外消してしまえ。
clean: hoge.aux hoge.dvi hoge.log hoge.pdf
[ImageMagick] eps 以外の画像を eps に変換
ImageMagick を使って eps ファイルにする。ImageMagick の convert コマンドで jpg とかを eps にしてしまえばその他の設定をいじらずに貼り付けられる。LaTeX で使うときには dvipdfmx と graphix パッケージを使う。
# apt-get install ImageMagick # exit $ convert hoge.jpg hage.eps
オリジナルスタイルファイルをLaTeXコンパイル時に使う方法
スタイルファイルは、テンプレートで、面倒な設定をあらかじめかいていおくもの。だから、いつもどおりLatex文書作って、何回も書くことをまとめたものと考えていい。ようは、*.texファイルの中で\usepackage{hoge}した位置ににhoge.styの内容が差し込まれるということだ。じゃあどこにhoge.styを探しにいくか?これが環境変数TEXINPUTSで指定される場所だ。環境変数なので~/.bashrcに書き込むことで設定できる。設定の反映は一度ログアウトして再度ログイン。
hoge.styが~/tex/直下にある場合、下のようにしてコマンド打て。
$ echo export TEXINPUTS=.:\$HOME/tex: >> ~/.bashrc
gnuplotで描いたepsをLaTeXでdvipdfmxでpdfに変換時にエラー
問題は題名のとおり。解決は下。とにかく必要そうなものをインストール。フォントでエラーが出てそうだったので、フォント関係インストールした。そのほかにも確かtexのインストールで問題が起きていたような気がした。
# apt-get install TrueType-base
LaTeXでincludegraphicsするときにホームディレクトリからの相対パスを指定できない
つまり、したのようにはできないということだ。僕は同じ画像ファイルを複数の文書から参照することがよくあるので、画像ファイルをいれておくディレクトリは1つだけにしている。絶対パスを指定しておけばこれを解決できるが、別マシンにディレクトリごとマウントして編集することもあるので、これは避けたい。
\includegraphics{~/img/hoge.eps}
少なくともLinuxにおける解決策のひとつは、画像ディレクトリのシンボリックリンクをカレントディレクトリ内に作っておくことだ。これでも解決できる。Windowsではどうすればいいのかわからない。
$ ls hoge.tex $ ln -s ~/img/ $ ls hoge.tex img/ $ vi hoge.tex > \includegraphics{img/hoge.eps}
これでOK。