自分は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 件のコメント:
コメントを投稿