WindowsでEmacs+Yatexを使う



実行環境:Windows 8.1
3台のWindows PC(MacProにbootcamp, iMacにbootcamp, vaio pro)で、 Emacs+Yatexの環境を構築しました。

下の2通りの方法を試したところ、 
 一点目は、MacProとiMacのWindowsでは問題なく成功し、vaio proではうまくいきませんでした。まぁ、端末依存なわけはないと思いますが。

仕方なく、vaio proは、二点目の方法をとり、無事成功でした。
二点目の方が、試している方が多いため、おすすめです。

では、一点目から解説。

構築方法

Emacs for gnupackを用いる方法

  1. ここから、Emacs for gnupackをダウンロードしてきます。
    • 私は"ダウンロード"フォルダーに入れました
  2. ダブルクリックで解凍。
    • 同じフォルダーに、emacs-24.2-20121208という名前のフォルダーが生成されます。
    • 私の場合は、"ダウンロード"フォルダーに生成されました。
  3.  Yatexをここからダウンロードしてきます。
      •  ダウンロードしたファイルは、Lhaplusを使って解凍できます。
    1. 解凍して出てきたフォルダーを、"yatex"に名前変更して、 emacs-24.2-20121208\site-lispの中にコピー
      • 私の場合は、C:\Users\(ユーザー名)\Downloads\emacs-24.2-20121208\site-lisp
    2.  Emacsの設定ファイルを作成
      •  C:\Users\(ユーザー名)\AppData\Roaming\.emacs.dの中に、"init.el"という名前のファイルを作成
      • (より正確にいうと、 コマンドプロンプトを立ち上げて、『echo %APPDATA%』と打って出てきたパスに、.emacs.dフォルダーを(なければ)作成し、init.elファイルを作成。)
    3.  init.elをメモ帳か何かで開き、以下のように記載して保存。

    ;;; 日本語環境設定
    (set-language-environment "Japanese")
    ;; 文字コード
    (set-language-environment 'utf-8)
    (prefer-coding-system 'utf-8)
    (set-default-coding-systems 'utf-8)
    (set-keyboard-coding-system 'utf-8)
    (setq default-file-name-coding-system 'shift_jis) ;dired文字化け対策
    (prefer-coding-system 'utf-8-unix) ; 日本語入力のための設定
    (set-default-font "MS ゴシック-10")
    (setq default-input-method "W32-IME") ;標準IMEの設定
    (w32-ime-initialize) ;IMEの初期化
    (setq w32-ime-buffer-switch-p nil) ;バッファ切り替え時にIME状態を引き継ぐ
    ;IME ON/OFF時のカーソルカラー
    (add-hook 'input-method-activate-hook
    (lambda() (set-cursor-color "green")))
    (add-hook 'input-method-inactivate-hook
    (lambda() (set-cursor-color "red")))
    ;; 初期フレームの設定
    (setq default-frame-alist
    (append (list '(foreground-color . "black")
    '(background-color . "white")
    '(background-color . "gray")
    '(border-color . "black")
    '(mouse-color . "white")
    '(cursor-color . "black")
    '(width . 150)
    '(height . 80)
    '(top . 100)
    '(left . 300))
    default-frame-alist))
    (setq resize-mini-windows t) ;ミニバッファ拡大防止
    ;;======================================================================
    ;; TeX
    ;;======================================================================
    ; YaTeX-mode
    (setq auto-mode-alist (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
    (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
    (setq load-path (cons "~/.emacs.d/yatex" load-path)) ;;ココにyatexのパス書く
    (setq tex-command "platex")
    (setq dvi2-command "C:/w32tex/dviout/dviout") ;;ココdvioutをパスを含めて書く
    (setq dviprint-command-format "dvipdfmx %s ")
    (setq bibtex-command "C:/w32tex/bin/jbibtex") ; BibTeX のコマンド
    ;; firefoxでご覧の方は、view rawの中をコピーしてください。
    view raw init.el hosted with ❤ by GitHub

    以上です。

    gnupackを用いる方法

    二点目の方法は、gnupackという、Emacs, Vim, Cygwinなどがセットになったものを、利用する方法です。
    1. ここから、gnupack_basic-11.00.exeをダウンロード
      • 私は、"ダウンロード"フォルダーにダウンロードしました。
    2.  ダブルクリックで解凍
      • 同じフォルダーに、gnupack_basic-11.00というフォルダーが生成されます。
      • ただし、中身は、一点目のものと異なります。
    3. gnupack_basic-11.00\app\emacs\site-lispに、yatexフォルダーをコピー
      • yatexフォルダーは、一点目と同じように、ここからダウンロードして、Lhaplusで解凍し、名前変更してください。
    4.  gnupack_basic-11.00\home\.emacs.dに、init.elファイルを作成し、一点目と同じように、上の設定を書いて保存
    5.  gnupack_basic-11.00\config.iniをメモ帳か何かで開き、14行目の以下の一行をセミコロン(;)でコメントアウト
      • SHELL        = /bin/bash
    5番目の設定をしないと、texファイルを開いたときにyatex modeにはなるものの、C-c t jをしたときに、下のようなエラーがミニバッファーに出て、コンパイルが実行されません。

    spawning child process invalid argument

    こちらのブログ(http://blogs.yahoo.co.jp/t_terui/64092044.html)では、tex関連のファイルのパスを、config.iniに追記しないといけないとありましたが、自分の環境では、その必要はありませんでした。

    自分が設定していて詰みかけた点

    日本語入力ができない

    自分の環境では、どちらの方法でEmacsを導入しても、Emacsを開いただけでは日本語入力(日本語切り替え?かな切り替え?)ができませんでした。
    『半角/全角 漢字』キーを入力するたびに、ミニバッファーに

    <enlw> is undefined



    <auto> is undefined

    という表示が繰り返されます。

    対処として、全く意味が分からないのですが、一度Emacsのウィンドウをマウスでドラッグ(移動)してやると、日本語入力ができるようになります。意味不明です。しかし、結果オーライです。

    C-c t bを入力すると、pbibtexを参照して、参照エラーになる

    bibを解決するためのコマンドとして、init.elには、

    (setq bibtex-command "C:/w32tex/bin/jbibtex")

    と記載しているにも関わらず、なぜかpbibtexという、よく分からないものを参照しようとして失敗しました。

    しかし、よくtexファイルを見てみると、ファイルの冒頭に

    %#BIBTEX C:/w32tex/bin/pbibtex (ファイル名)

    と、勝手に一文追加されていました。もしやと思い、pbibtexの部分をjbibtexに変えてやったら、
    C-c t bでjbibtexが動くようになりました。これも、謎ですが、結果オーライです。

    Yatexが認識されない(1端末のみ。ってかまだ詰んでる)

    vaio proで、一点目の方法で設定した際、なぜか他の端末と同じ設定を行っているにもかかわらず、texファイルを開いても、Yatexを認識してくれませんでした。

    何か環境の違いがあるのでしょうが、いまだに原因が分からずじまいです。

    もしかしたら、gnupack全体を使う方法の方が安定しているかもしれません。

      コメント