この時期になると卒業論文や修士論文(LaTeX)をEmacsで書きはじめる方がいらっしゃると思いますので,参考になればと思い書きました.あくまで最低限の設定かと思いますので,良い拡張などありましたらコメントください.
General
- Emacsの
LaTeX-mode
で基本はOk - 便利にするため下記を
init.el
に記述
(require 'tex)
(TeX-global-PDF-mode t)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
(add-hook 'LaTeX-mode-hook 'visual-line-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(setq reftex-plug-into-AUCTeX t)
(setq TeX-PDF-mode t)
Compile
普段TeXShop使ってる人はTypeSetとかのコマンドでいけるけど,EmacsだとMakefileを叩くしかない
- compileしたいtexファイルと同一階層で
M-x compile
.Makefileを探してmake -k
してくれる(もしくはC-c C-c
でTex-command-master
を起動できる) -
M-x compile
を少し拡張した関数をivyの作者abo-aboさんがstackoverflowに書いていたので,こちらを記述しても良いかも
(defun desperately-compile ()
"Traveling up the path, find a Makefile and `compile'."
(interactive)
(with-temp-buffer
(while (and (not (file-exists-p "Makefile"))
(not (equal "/" default-directory)))
(cd ".."))
(when (file-exists-p "Makefile")
(compile "make -k"))))
-
Compilation buffer
が開くが,それが鬱陶しい人は以下をinit.el
に記述.別frameでcompile logが出力されるようになる(macならCmd+w
でそのwindowをkillできる).
(setq special-display-buffer-names '("*compilation*"))
View
- Adobeのpdf viewerなどはファイルの変更を検知して自動でreloadしてくれない.
- そのためSkimを導入するといい.変更を検知してreloadしてくれる(preferenceをいじる必要あり)
-
make
後に自動でcompileしたpdfファイルを開く・フォーカスしてほしいので,Makefileのall
のあとにopen -a Skim [YOUR_PDF_NAME]
が実行されるよう記述(以下が私のMakefileの一部)
all: pdf
pdf: &(OUTPUT).pdf
$(OUTPUT).pdf: $(TARGET).dvi out2uni
dvipdfmx -o $(OUTPUT).pdf $(TARGET).dvi
open -a Skim $(OUTPUT).pdf # open pdf by skim
- latex-preview-pane-modeなどもありましたが,こちらはpdfを閲覧するのには重すぎたので割愛.