Emacs LaTeX環境

最近,英語で論文を書き始めた.
その時に,emacsLaTeXの環境をいろいろ調べました.
入力支援,スペルチェック,自動ビルド,自動リロード.

基本的にめんどくさがりなので,
自動ビルドや自動リロードは必要.
でも,出来るだけインストール,設定がが簡単に.
ソフトもできるだけパッケージ管理ができるように.
というようなことを考えて,調べました.

それぞれの細かい設定は,ググってもらったほうが詳しいものが出てくるかと.

環境

マシン: Mac OSX Lion 15-inch, Late 2011
パッケージ管理: MacPorts

  • 事前に入れといたもの

基本的にはMacPortsで. ()のなかは,MacPortsでの名前
emacs: Cocoa Emacs 23.4 (emacs-app)
LaTeX一式: pTeX (pTeX)

pTeXのインストールはすごく時間かかる.
そのうちpTeXもバイナリ配布になったりするのかな?

    • インストール
$ sudo port install emacs-app pTeX

入力支援 auctex

MacPortsにはこれしか無かった.
日本人はYaTeX使ってる人のほうが多いかな?
まだ,使いやすいかはわからない.

  • インストール
$ sudo port install auctex

自動で,auctexモードになったり

(require 'tex-site)

スペルチェック aspell, flyspell-mode

英語のスペルは意外と間違う.
日本語だと良さ気なの無いけど,英語だと簡単にインストールができた.
日本語だと形態素解析とか噛ませないといけないのかな?

ispellがスペルチェックするバイナリ..emacsでパスを通しておく.
flyspell-modeで編集中に単語が辞書にないかチェックしてくれる.
自分で単語を~/.aspell.en.pwsに追加登録することもできる.

  • インストール
$ sudo port install aspell aspell-dict-en

パスを通したり,
LaTeXファイル開いた時に,自動でflyspell-modeが起動したりとか.

(setq-default ispell-program-name "/opt/local/bin/aspell") ;; path to aspell
(setq flyspell-issu-welcome-flag nil)
(add-hook 'latex-mode-hook 'flyspell-mode)
(add-hook 'bibtex-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)

自動ビルド omake, async shell

自動ビルドにomakeを使う.非同期シェルで実行.
emacsのコマンドで呼ぶ方法もあるかもしれないけど.

  • インストール
sudo port install omake
  • 使い方

OMakefile, OMakerootを配置.

M-& omake -P --verbose RET

自動リロード DocView

version 23からは,デフォルトでdviやpdfのviewerがついている.

自動リロード,
スクロールしていったらページも切り替わる など

(add-hook 'doc-view-mode-hook 'auto-revert-mode)
(setq doc-view-continuous t)

.emacsの中身

参考までに.emacsの中身

;; auctex useful command tool??
(require 'tex-site)
;; (load "auctex.el" nil t t)
;; (load "preview-latex.el" nil t t)

;; flyspell-mode: spell checker.
;; automatically check while editting
(setq-default ispell-program-name "/opt/local/bin/aspell") ;; path to aspell
(setq flyspell-issu-welcome-flag nil)
(add-hook 'latex-mode-hook 'flyspell-mode)
(add-hook 'bibtex-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)

;; DocView auto-revert-mode
(add-hook 'doc-view-mode-hook 'auto-revert-mode)
(setq doc-view-continuous t)

実行例

あとは,適当にウィンドウに割り振ってください.

最後に

能力を示すものを作らなければならないことに気がついたので,
とりあえず簡単なものを書いてみた.
これからもとりあえず,数だけでも増やしていく.

同じemacs関連では,emacs-evernote-modeの設定を使用としてるんだけど,
まだうまくいっていない.
はてなダイアリーemacsで編集できるのかな?