Emacs LaTeX環境
最近,英語で論文を書き始めた.
その時に,emacsのLaTeXの環境をいろいろ調べました.
入力支援,スペルチェック,自動ビルド,自動リロード.
基本的にめんどくさがりなので,
自動ビルドや自動リロードは必要.
でも,出来るだけインストール,設定がが簡単に.
ソフトもできるだけパッケージ管理ができるように.
というようなことを考えて,調べました.
それぞれの細かい設定は,ググってもらったほうが詳しいものが出てくるかと.
環境
マシン: 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)