[雑記] The end of ごくせん
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2005031903
トラックバックはありません.
[プログラミング] GNU make の単純展開変数
TEXINPUTS を自動的に設定してタイプセットを行う Makefile を書こうとして,次のように書くと失敗します.
% cat Makefile TEXINPUTS=$(TEXINPUTS)./eps: all: foo.tex platex foo.tex % make platex foo.tex make: *** Recursive variable `TEXINPUTS' references itself (eventually). Stop.
この原因は,make は変数(マクロ)の展開を,それが実際に使用された時点で行うためです.
変数に値を付け加えたい場合は,"=" の代わりに ":=" を使用して単純展開変数
を定義します.
% cat Makefile TEXINPUTS := $(TEXINPUTS)./eps: all: foo.tex platex foo.tex % make platex foo.tex (snip) %
この場合,変数が定義された時点で 1 度だけ展開されます.ただし GNU make でないと使えません.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2005031902
トラックバックはありません.
[TeX関連] TEXINPUTS
環境変数 TEXINPUTS に ./eps を付け加えておくと,\includegraphics{hoge.eps} をタイプセットする際に,自動的に eps/hoge.eps を探しに行くので便利です.
設定例は次のような感じです.私は自分専用のスタイルファイルを ~/.texmf の下に入れているので,その設定が含まれています.
export TEXINPUTS=.:${HOME}/.texmf//:./eps:
多くの場合は環境変数 TEXINPUTS の末尾をコロンで終わらせておく必要があります.TEXINPUTS / TEXTFM 等の環境変数は,末尾がコロンである場合,そこにデフォルトの定義が続いているものとして解釈するからです.
ファイルの検索には kpathsea を使用するので,ダブルスラッシュを用いることができます.
また,PATH と同じように,TEXINPUTS にはカレントディレクトリを含める必要があります.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2005031901
トラックバックはありません.