外部ツールAUCTeXと標準搭載のツールRefTexを使うと快適にLaTeXの編集やコンパイルが行えるようになります。
卒業シーズンも近づいてきましたので環境を整えておきましょう。
少し注意事項としてAUCTeXと同類のツールでYaTeX(野鳥)というものがあります。
YaTeXもここで書くことと同等のことが出来るはずですので、あまりYaTeXを使いこなせてない感のある人はこの記事を読む価値は十分あるかと思います。
でも詳しい使い方は各自ググるなりしてください。
あと、YaTeXからAUCTeXに乗り換えたいという方は恐らくYaTeXの設定を解除しないといけません。
ご注意を。
Carbon EmacsだとYaTeXの方が相性いいかもしれません。
ここではCocoa Emacs 24での設定方法を解説します。
AUCTeXのインストール
package-installが使える環境
割と新しいバージョンのEmacsで標準搭載のpackage-installを使うと簡単です。M-x package-install [RET] auctex [RET]
texファイルを開いたときに自動ロードされるはずです。
されない場合はこちらを参考に設定してみてください。
package-installが使えない環境
申し訳ないのですが、僕はこっちの環境ではなかったのでAUCTeX - Tex Wikiなどを参考にインストールしてください。どうやら本家サイトからフォルダをダウンロードして、site-lisp/site-start.dにパスを通すらしいです。
AUCTeXとRefTeXの設定
僕の設定はこんな感じになっています。
(setq TeX-default-mode 'japanese-latex-mode) (setq japanese-LaTeX-default-style "jarticle") (setq TeX-output-view-style '(("^dvi$" "." "xdvi '%d'"))) (setq preview-image-type 'dvipng) (add-hook 'LaTeX-mode-hook (function (lambda () (add-to-list 'TeX-command-list '("pTeX" "%(PDF)ptex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (plain-tex-mode) :help "Run ASCII pTeX")) (add-to-list 'TeX-command-list '("pLaTeX" "%(PDF)platex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (latex-mode) :help "Run ASCII pLaTeX")) (add-to-list 'TeX-command-list '("acroread" "acroread '%s.pdf' " TeX-run-command t nil)) (add-to-list 'TeX-command-list '("pdf" "dvipdfmx -V 4 '%s' " TeX-run-command t nil)) ))) (add-hook 'LaTeX-mode-hook 'turn-on-reftex) (setq reftex-plug-into-AUCTeX 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 'TeX-mode-hook (lambda () (TeX-fold-mode 1))) ;; Change key bindings (add-hook 'reftex-mode-hook '(lambda () (define-key reftex-mode-map (kbd "\C-cr") 'reftex-reference) (define-key reftex-mode-map (kbd "\C-cl") 'reftex-label) (define-key reftex-mode-map (kbd "\C-cc") 'reftex-citation) )) ;; 数式のラベル作成時にも自分でラベルを入力できるようにする (setq reftex-insert-label-flags '("s" "sfte")) ;; \eqrefを使う (setq reftex-label-alist '( (nil ?e nil "\\eqref{%s}" nil nil) )) ; RefTeXで使用するbibファイルの位置を指定する (setq reftex-default-bibliography '("~/tex/biblio.bib" "~/tex/biblio2.bib"))
flyspellはうざいのでコメントアウトしてますが、ONにしとくとスペルミスをハイライトしてくれます。
最後のbibファイルのパスはこの記事で設定したフォルダのbibファイルにしとけばOKです。
24行目のtexmasterの部分ですが、長い論文のように一つのpdfを作成するために複数のtexファイルを使っているようなときは、全てのtexファイルの下部に色々書き込んでおくとソースを解析してコンパイルしてくれる設定です。
詳しくはwikiなんかを参照してください。
7行目からは独自のコマンドを追加していってます。
詳しい使い方はこの後に書きます。
この設定を終えてtexファイルを開くと、モードラインに(LaTeX/M Ref)などと表示されていれば成功です。
AUCTeXとRefTeXの使い方
上で設定したコマンドと僕がよく使うコマンドを挙げときます。C-c, C-c, “platex” | platexの実行 |
C-c, C-c, “bibtex” | bibtexの実行 |
C-c, C-v | xdviの実行 |
C-c, C-c, “pdf” | dvipdfmxの実行 |
C-c, C-c, “Clean” or "Celan All" | 中間ファイルの削除など |
C-c, C-e, <figureとかalignとか> | \begin~\endの環境を挿入 ポジションやラベル、キャプションの入力も求められます。 |
C-c, C-s | \sectionや\subsectionの挿入 タイトルとラベルが求められます。 |
C-c, C-f, C-r | \textrm{}, \mathrm |
C-c, C-f, C-b | \textbf{} |
C-c, C-f, C-i or TAB | \textit{} |
`, a or b... | \alphaとか\betaとか。 |
C-c, r, [efinNst]のどれかのキー | これまで付けたラベル一覧から自動で挿入 例えばeなら数式の一覧が表示される。一覧に表示されてなかったらrでリスキャンしてくれる。 |
C-c, c | \cite{}でソースとして設定してあるbibファイルから文字列検索してラベルを挿入 |
C-c, l | \label{}を挿入 |
C-c, & | 対応するラベルにジャンプ |
C-c, = | アウトライン表示、選んだセクションへ飛ぶ |
C-c, _ | 編集中のファイルのマスターファイルを設定 |
C-c, C-o, C-b | TeX-fold-buffer |
C-c, C-o, b | Tex-fold-clearout-buffer |
`
シリーズも` ?
と押せば一覧が出ます。Tex-fold-mode
は記号や書式を簡単なプレビュー表示にしてくれます。例えば\alphaがαと表示されます。
僕はtexからpdfへ一括でコンパイルさせないで途中のdviファイルで編集結果を確認しています。
C-c, C-v は打つ度にxdviが新しいフレームを起動してしまうので、一度起動したら後はplatexした後にMacのショートカットキー Command + Tabでアプリを切り替えて、大文字のRでファイルを更新してくれます。
nとpでページを行き来できます。
これでマウスは文鎮に出来ますね。
追記:Emacsのバッファ内で簡易プレビュー
LaTeX-modeになっているときに- C-c C-p C-d
- M-x preview-document
戻すときは
- C-c C-p C-c C-d
- M-x preview-clearout-document
参考サイト: clmemo@aka: preview-latex のインストール (2005/9) |AUCTeX|
追記:PDFビュワー『Skim』と連携
以下参照。Ochiailab Tips: EmacsとSkimの連携 Part.2
0 件のコメント :
コメントを投稿