Carbon Emacs + pTex(Sjis) + latexmk + YaTex + xdvi(k) の設定
MacBook にしてから Tex で文章を書くのには Carbon Emacs を使うようになった.
.emacs の設定をがんばってしている最中で,とりあえず Yatex + Latexmk が便利そう!
latexmk は,めんどくさい platex jbibtex platex platex とかを latexmk だけでしてくれる prel スクリプト.
YaTex は, Emacs からplatex とか入力支援みたいな感じ.
MacWiki - CarbonEmacsAndYatex
latexmk - MyTeXpert
LaTeX では latexmk を使うと気持ちが良い - 理系学生日記
ここらを参考にしつつ,
~/.bashrc
alias Emacs='open -a Emacs.app' alias acroread='open -a Adobe\ Reader.app' complete -f -X '!*.tex' platex latexmk complete -f -X '!*.dvi' xdvi complete -f -X '!*.pdf' acroread
これで,Terminal.app から Emacs とか開ける.
~/.latexmkrc
$latex = 'platex -src-specials'; $bibtex = 'jbibtex'; $makeindex = 'mendex'; $dvipdf = 'dvipdfmx'; $dvips = 'dvipsk'; $dvi_previewer ='xdvi'; $pdf_previewer = 'open -a Adobe\ Reader.app';
これで,欧文 Tex にしか対応していないのを platex とか日本語使えるの使える.
~/.emacs
(setq auto-mode-alist (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) (add-hook 'yatex-mode-hook '(lambda () (setq tex-command "latexmk -pv") (setq dvi2-command "xdvi") ))
これで,Emacs で *.tex を開くと Yatexモードになる. C-c tj でコンパイル + xdvi で表示!
追記...
Emacs Lisp TIPS smart-compile.el を発見!
これで拡張子やモードから自動判断して C-cc を入力したときに適したコンパイルしてくれる.
.emacs 追記
(require 'smart-compile) (global-set-key "\C-cc" 'smart-compile) (define-key menu-bar-tools-menu [compile] '("Compile..." . smart-compile))
これで,smart-compile.el が使える
これを *.tex のときは,latexmk を利用するように変更する.
smart-compile.el の62行目あたりを変更
("\\.tex\\'" . "latexmk -pv %f")
更に追記
$ latexmk -pdfdvi targetfile
これが動いてなかったのでちょっといじる.
~/bin/latexmk l.1723
foreach ($dvipdf, $ps2pdf) { # Source and dest without flag for destination if ( $_ && ! /%/ ) { $_ .= " %O %S"; } }
追記ここまで...
本当は Emacs lisp 書いて *.tex 保存時に latexmk 実行したいけど, Emacs lisp わからん.
加えて,src-special で TeX ソース⇔プレビューア相互参照これもなんでか利用できん.
後は,誰かえらい人まかせた!