自作TeXツールと実装メモ
Livedoorブログからの移動
卒論を書いている時に, TeX系のツールが欲しくなることがあったので, そのうちいくつかを自作した. が, 最近はmarkdownを使って書いてpandocで変換する方法を追求したほうがいいのではないかという疑惑を持ち, 最近ではほとんどメンテナンスしていない.
まだ, markdownからLaTeXへの変換は完全ではないところが多いので, 最終的にはLaTeXも書く生活が長く続くのかと思うと, メンテナンスするべきかもしれない
コンパイル環境
ここなどを参考に, omakeを使ってコンパイルしている.# 生成するPDFの名前 (拡張子は不要) TARGET = target # 画像ファイルを置くディレクトリ IMAGE_DIR = images # LaTeXコマンド LATEX = platex # TeTeX v.2にある発展的なLaTeXオプションを有向にするかどうか TETEX2_ENABLED = false # LaTeXに渡す引数 LATEXFLAGS = -interaction=nonstopmode --kanji=utf8 -synctex=1 # BibTeXコマンド BIBTEX = pbibtex --kanji=utf8 # .dviから.pdfへのコンバータ DVIPDFM = dvipdfmx # dvipdfmに渡す引数 DVIPDFMFLAGS = -p a4 # Bounding Box生成コマンド EBB = ebb # dotファイルからpngを生成するコマンド DOT = dot # dotに渡す引数 DOTFLAGS = -Tpng DefineCommandVars() # グロブ展開に失敗したときに空の文字列を返すようにする GLOB_OPTIONS = i # Bounding Boxの生成ルール .SUBDIRS: $(IMAGE_DIR) %.bb: %.png $(EBB) $< %.bb: %.jpg $(EBB) $< %.png: %.dot $(DOT) $< $(DOTFLAGS) -o $@ # 各種ファイルの抽出 TEX_FILES = $(glob *.tex */*.tex) BIB_FILES = $(glob *.bib) EPS_IMAGE_FILES = $(glob $(IMAGE_DIR)/*.eps) DOT_FILES = $(glob $(IMAGE_DIR)/*.dot) DOT_IMAGE_FILES = $(addsuffix .png, $(removesuffix $(DOT_FILES))) OTHER_IMAGE_FILES = $(glob $(IMAGE_DIR)/*.png $(IMAGE_DIR)/*.jpg) IMAGE_FILES = $(EPS_IMAGE_FILES) $(DOT_IMAGE_FILES) $(OTHER_IMAGE_FILES) BB_FILES = $(addsuffix .bb, $(removesuffix $(OTHER_IMAGE_FILES))) SYNCTEX_FILE = $(TARGET).synctex.gz # --synxtexで生成されるファイル # コンパイルに必要なファイル TEXDEPS[] = $(TEX_FILES) $(BIB_FILES) $(IMAGE_FILES) $(BB_FILES) LaTeXDocument($(TARGET), $(TARGET)) .DEFAULT: $(TARGET).pdf $(TARGET).dvi .PHONY: clean clean: rm $(glob *.toc *.log *.pdf *.dvi *.fls *.aux *.maf *.mtc *.bbl *.blg) $(BB_FILES) $(DOT_IMAGE_FILES) $(SYNCTEX_FILE)リンク先からの違いは, dotファイルをpng, bbへと変換して組み込めるようにしたことと, synctexをつけたこと.