自分はWindows, Ubuntu, Solaris, Macな人間なので,.texファイルをマシン間でコピーした際に,platexが「文字コードが不明!」とかってエラーを吐きます.
platexに -kanji=eucjp のようにオプションを渡せばいいのですが,いちいち設定するのがめんどくさい.
Auctexを使ってるんだから,C-c C-cしただけでちゃんとコンパイルしてほしい.
そんなときに見つけたのが上記のコードです.
そのままだと,バッファの文字コード認識部分が正常に動かなかったのでちょっと修正してます.
(add-hook 'LaTeX-mode-hook '(lambda () (let* ((kcode (symbol-name buffer-file-coding-system)) (opt (cond ((string-match "^utf-8" kcode) " -kanji=utf8") ((string-match "^shift_jis" kcode) " -kanji=sjis") ((string-match "shift-jis" kcode) " -kanji=sjis") ((string-match "^euc-jp" kcode) " -kanji=euc") ((string-match "^japanese-iso-8bit" kcode) " -kanji=euc") ((string-match "^iso-2022-jp" kcode) " -kanji=jis") (t "")))) (if (boundp 'japanese-TeX-command-list) (progn (message "pLaTeX %s inserted" opt) (setcar (cdr (assoc "pLaTeX" japanese-TeX-command-list)) (concat "%(PDF)platex" opt " %`%S%(PDFout)%(mode)%' %t")) (setcar (cdr (assoc "jBibTeX" japanese-TeX-command-list)) (concat "%(PDF)jbibtex" opt " %s")) (message "pLaTeX UTF-8 flag enabled")) (message "pLaTeX UTF-8 flag disabled")))))
0 件のコメント:
コメントを投稿