YaTeX という Emacs というエディタのプラグインがあるんだけど, YaTeX のインストール方法で調べると古い情報が出てきたりするので, 少なくとも古くはない Emacs のパッケージ管理と, YaTeX の設定 Tips みたいなものをまとめておきます.
一応 Emacs を操作したことはあり, ~/.emacs.d/init.el
になんか書くと設定できるんでしょ, ってことくらいは知っている人を想定して書いているつもりです.
用意するもの
- Windows ユーザーのかた
ごめんなさい全くわかりません. もしやりたい方がいれば頑張ってください.
- Mac or Linux ユーザーのかた
なるべく新しい Emacs を用意しましょう, それ以外に特に必要なものはありません. 最低でも ver.24.3 は確保したほうが無難かと思います. Terminal 上で起動するのか, GUI 版を起動するのかはお任せします.
Terminal 版なら, emacs --version
のコマンドで, GUI 版でも起動すれば普通に version 番号はまぁわかります.
やること
YaTeX のインストール方法
YaTeX というプラグインに限らずですが, Emacs のプラグインは MELPA というリポジトリがあり, そこからダウンロードするのが基本です.
でそこからインストール / アップデート / アンインストールなどを比較的簡単に行えるようにするツールが, package.el です. パッケージ管理ツールですね. Mac だとたとえば Homebrew, Ubuntu だと apt, CentOS だと yum とかの Emacs 特化版だと思ってくれればよいです. なのでまずはこれを設定します.
これを設定するメリットは, YaTeX 以外のプラグインを使いたくなった時に, あるいは YaTeX を使うのをやめるときも簡単に, 同様の方法で, Emacs でプラグインの管理ができるからです. 積極的に利用しましょう.
package.el の設定
まずは何がなんでも package.el を設定します. ~/.emacs.d/init.el
に次を記入:
;;; Package.el config (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (package-initialize)
これを書くことにより, MELPA リポジトリからプラグインをダウンロードすることができます.
実際に YaTeX をインストールしましょう. ここではコマンドを叩かず, init.el に直接書いてインストールします.
次の記述は, こちらの記事を参考にさせていただきました.
(unless (package-installed-p 'yatex) (package-refresh-contents) (package-install 'yatex)))
これは, 要するに「YaTeX がまだインストールされていなければインストールをしろ」 という指令です. これを関数化すると, 次のようにしてインストールすることもできます(関数化すると多数のプラグインに同じことをかかなくて済むので便利です).
;;; ;; Package install function ;;; (defun yet-installed-packeage-install (package-name) "まだインストールしていない package であればインストールし, そうでなければ何もしないだけの関数" (unless (package-installed-p package-name) (package-refresh-contents) (package-install package-name))) ;; Install (yet-installed-package-install 'yatex)
この状態で, M-x eval-buffer
をすると, インストールされていないプラグインはインストールされるはずです.
'
があったりなかったりするのは '遅延評価' に関係するみたいなんですがよくわかっていません. よくわかっていないのでなんとも言えません.
やりようは他にも, M-x package-list-packages
して選ぶなどありますが, ここでは紹介しません.
YaTeX プラグインの設定
最低限の設定をしましょう と言っても人によって最低限が異なるとは思いますが……僕なりの最低限は:
- 文字コードが utf-8
.tex
,.sty
ファイルを開くときに YaTeX モードで立ち上がる.- タイプセット, プレビューコマンドを Emacs から叩ける.
でしょうか. なのでそのふたつのみ設定します.
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) (setq auto-mode-alist (append '(("\\.tex$" . yatex-mode) ("\\.ltx$" . yatex-mode) ("\\.sty$" . yatex-mode)) auto-mode-alist)) ;; set YaTeX coding system (setq YaTeX-kanji-code 4) ; UTF-8 の設定 (add-hook 'yatex-mode-hook '(lambda () (setq YaTeX-use-AMS-LaTeX t) ; align で数式モードになる (setq YaTeX-use-hilit19 nil YateX-use-font-lock t) (setq tex-command "em-latexmk.sh") ; typeset command (setq dvi2-command "evince") ; preview command (setq tex-pdfview-command "xdg-open"))) ; preview command
一部最低限ではないものも混じっていますが, まぁコメントアウトのとおりです.
tex-command
は, 多くの人が (u)platex
などを使うのではないでしょうか. tex-pdfview-command
は Mac だとなんなんだろ…open
とか Preview.app
とかですかね. Linux の人は gnome-open
とか xdg-open
とか evince
とかまぁお好きなものを.
こんな風に設定したら, あとは YaTeX の機能を駆使して書くだけです.
補足: YaTeX の拡張
たとえば ;6
と入力すると が出たりする数式イメージ補完なんですが, これは実は拡張することができます.
(setq YaTeX-math-sign-alist-private '(("Q" "mathbb{Q}" "(Q)") ("ZZ" "mathbb{Z}" "ZZ") ("R" "mathbb{R}" "R") ("C" "mathbb{C}" "C") ("N" "mathbb{N}" "N") ("Z>0" "mathbb{Z}_{>0}" "Z>0") ("|/" "\mid \hspace{-.67em}/" "|/") ("F" "mathbb{F}" "F") ("Fp" "mathbb{F}_p" "F_p") ("Fq" "mathbb{F}_q" "F_q"))
とかやると, YaTeX の数式モード中に ;ZZ
と打つと とできます.
わりあてたいコマンドがあれば, このリストに入力すればO.K. 他にも, YaTeX はいろいろと拡張できます.
マニュアルにカスタマイズ変数の一覧が載っていたりします.
Yet Another tex-mode for Emacs
最近は GitHub などに dotfiles として .emacs.d
や .vimrc
といった設定ファイルを公開している人も増えていますので, そういうのを読んで勉強するのもいいかもしれませんね.私も公開しようかしら……迷い中.
昔はパスワードを直に書いていたので公開できなかったのだけど, もうそれもしていないし公開してもかまわないなぁとは思っているのですが, まぁそのうち気が向いたら.