yumulog

北海道の大学教員/情報科学研究者の日記

xyzzy + katex (花鳥) で TeXる

昨晩 windows XP を入れなおしました。快適に動作します。

それから必要なソフトを入れているのですが、TeX 用のエディタとして今までは TeXEditor というのを使っていて補完機能がそこそこ便利だったのですが、そこそこ不便な点もあったのでこの機会にほかのエディタも使ってみようと思いいろいろ試してみました。



まず TeXnician というやつを使ってみたのですがいまいち。

なので割と定番ですが xyzzy + katex (花鳥:かてふ)でいくことに。

やったことをちょっとだけまとめてみます。



ちなみに、普通に使うなら TeXEditor で機能的にも十分だと思うし、ダウンロードしてくるだけで簡単なのでそっちがおすすめ。



あと、TeX はもう入ってるっていう前提で、今話しているのはただのエディタですから。





■□xyzzy の設定----

まずは xyzzy (lzh) をダウンロードしてくる。



展開して C:\xyzzy に保存(別にどこでもいいけど)



コントロールパネル→システム→詳細設定→環境変数→システム環境変数 新規で変数名「XYZZYHOME」変数値「C\:xyzzyを作成



デフォルトのショートカット操作だと一応Emacsライクになってるけど、Emacsとちょっと違って使いづらかったりする。なのでwindowsライクに使うことに。

いちおう gate.l や winkey.l というやつは用意されているのだけど、C-c,C-x の重要なキーがコピー,カットに使われていたりしてあんまりよくない。

そこで

C:\xyzzy\site-lips\winkey2.l などというlファイルを作ってその中に





(provide "winkey2")



(in-package "editor")



;;; winkey.lからコピー

(defvar *default-selection-keymap*

(let *1



(setq-default selection-keymap *default-selection-keymap*)

(global-set-key #\C-z 'undo)

(global-set-key #\C-v 'paste-from-clipboard)

(define-key esc-map #\C-x #'ctl-x-prefix)

(define-key esc-map #\C-c #'specific-command-prefix)





;;; Windowsっぽい設定

(global-set-key #\C-A 'selection-whole-buffer)

(global-set-key #\C-F 'search-dialog)

(global-set-key #\C-N 'new-file)

(global-set-key #\C-O 'open-filer)

(global-set-key #\C-P 'print-selected-buffer-dialog)

(global-set-key #\C-R 'replace-dialog)

(global-set-key #\C-S 'save-buffer-dialog)

(global-set-key #\Home 'beginning-of-virtual-line)

(global-set-key #\End 'end-of-virtual-line)

(global-set-key #\C-Home 'beginning-of-buffer)

(global-set-key #\C-End 'end-of-buffer)

(global-set-key #\S-Home 'selection-beginning-of-virtual-line)

(global-set-key #\S-End 'selection-end-of-virtual-line)

(global-set-key #\S-C-Home 'selection-beginning-of-buffer)

(global-set-key #\S-C-End 'selection-end-of-buffer)

(global-set-key #\F3 'search-forward-again)

(global-set-key #\S-F3 'search-backward-again)

(global-set-key #\M-F4 'kill-xyzzy)

(global-set-key #\C-F4 'close-selected-buffer)

(global-set-key #\C-Left 'backward-word)

(global-set-key #\C-Right 'forward-word)

(global-set-key #\S-C-Left 'selection-backward-word)

(global-set-key #\S-C-Right 'selection-forward-word)




を書き込む。それから, C:\xyzzy\.xyzzy を作って



(load-library "winkey2")



と書き込む。これで、マウスで範囲選択してるときは C-c,C-x でコピー,カットになるが、普通のときには本来の C-c,C-x として使える。





■□katex の設定----

katex (lzh) をダウンロードしてくる



C:\xyzzy\site-lisp 内に展開



それから C:\xyzzy\.xyzzy



;; 花鳥の設定(必須)

(push "~/site-lisp/katex" *load-path*)

(require "elisp")

(push '("\\.tex$" . elisp::katex-mode) *auto-mode-alist*)

(autoload 'elisp::katex-mode "katex" t)

(setf elisp::tex-command "platex")

;; 花鳥の設定(オプション)

; M-x katex-mode で花鳥を起動 [xyzzy:07770]より

;(defun katex-mode()

; (interactive)

; (elisp::katex-mode))

; かてふツールバーを使う

;(setf elisp::*KaTeX-use-toolbar* t)

; jsarticle をデフォルトにする

;(setf elisp::KaTeX-default-documentclass "jsarticle")

; M-RET

;(set-extended-key-translate-table exkey-M-return #\M-RET)

; paren.l を KaTeX モードに対応させる [xyzzy:07332]より

;(add-hook 'elisp::katex-mode-hook #'(lambda()

; (set-syntax-match (syntax-table) #\( #\))))

; タイプセットバッファの高さを調整 [xyzzy:07590]より

;(setf elisp::KaTeX-default-pop-window-height "3")

; 自動改行をやめる [xyzzy:07892]より

;(add-hook 'elisp::katex-mode-hook

; #'(lambda ()

; (auto-fill-mode nil)))




を追加で書き込む。

これで終了。 .tex ファイルを xyzzy で開くと かてふ が起動してくれます。






*1:keymap (make-sparse-keymap)))
(define-key keymap #\C-c 'copy-selection-to-clipboard)
(define-key keymap #\C-x 'kill-selection-to-clipboard)
keymap