Emacの設定
yaskkservのインストールと設定
skk の辞書サーバとして複数辞書を扱えるのが嬉しいのでyaskkservを手動でインストールする。Ubuntuにはパッケージがあるので、そちらを使っても良いんだろうけれど。
インストール
基本的には、ソースをダウンロードして./configure && sudo make installでOK。./configureした時にライブラリがないと出たらその都度apt-getでインストールして対応。自分の環境だとpkg-configやlibgnutls-openssl-devなんかを入れる必要があった。
辞書の設定と起動ファイル
yaskkservは、yaskkserv_make_dictionaryで専用の辞書を作成する必要があるので、こんなファイルを作成して、辞書を/usr/local/share/yaskkservに置くようにした。元のSKK辞書は、CVSサーバからひっぱってきたもの。
#!/bin/sh
DIRPATH=/your/path/of/skk/dic/
for FILE in ${DIRPATH}SKK-JISYO.*
do
rm -f *.yaskkserv
/usr/local/bin/yaskkserv_make_dictionary ${FILE} ${FILE}.yaskkserv
mv ${FILE}.yaskkserv /usr/local/share/yaskkserv/
done
DIRPATH=/your/path/of/skk/dic/zipcode/
for FILE in ${DIRPATH}SKK-JISYO.*
do
rm -f *.yaskkserv
/usr/local/bin/yaskkserv_make_dictionary ${FILE} ${FILE}.yaskkserv
mv ${FILE}.yaskkserv /usr/local/share/yaskkserv/
done
でもって、yaskkservを起動するのにこんなファイルを作成。
#!/bin/sh
/usr/local/sbin/yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.L.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.law.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.okinawa.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.jinmei.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.JIS2.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.JIS2004.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.JIS3_4.yaskkserv /usr/local/share/yaskkserv/SKK-JISYO.itaiji.JIS3_4.yaskkserv
で、これを/usr/local/binにでも置いておく。
Emacs上の設定
skkに関する設定
とりあえず辞書サーバに関連しそうな部分だけ抜粋。当然通常のautoloadに関する部分とかは別に設定している。
;; server settings
(setq skk-server-inhibit-startup-server nil)
(setq skk-server-portnum 1178)
(setq skk-server-prog "/usr/local/bin/yaskkserv.sh")
(setq skk-large-jisyo nil)
;; server completion
(add-to-list 'skk-search-prog-list
'(skk-server-completion-search) t)
(add-to-list 'skk-completion-prog-list
'(skk-comp-by-server-completion) t)
これでユーザー辞書にない単語が出てくると、yaskkservが起動して候補を表示してくれる。また、Tabでcompletionが効くのが長い単語を何度も入力する際には割と便利。
ちなみに、ファイル名がskk.elなのは、init.elに
;;; setting files
(setq skk-init-file "~/.emacs.d/skk/skk.el"
skk-jisyo "~/.emacs.d/skk/skk-jisyo"
skk-backup-jisyo "~/.emacs.d/skk/skk-jisyo.bak"
skk-record-file "~/.emacs.d/skk/skk-record")
としているため。いろいろ整理できるんでこの設定は重宝している。
YaTeXに関する設定
YaTeXに関しては、普通にTeXLiveをインストールしていれば、.texファイルのコンパイルからpdfファイルの作成まではTeX Wikiを参考に設定すれば問題ない。
作成したPDFファイルのプレビューをどうするかで、前回インストールしたwstartの出番となる。
自分の場合は、PDFファイルのプレビューにSumatraPDFを使っているので、init.elに次の設定をしておくと、C-c
C-t
p
でSumatraPDFが起動してくれる。パスの変換とかを全く気にしなくていいのですごく便利。
(setq dvi2-command "wstart rundll32 shell32,ShellExec_RunDLL SumatraPDF -reuse-instance")
(setq tex-pdfview-command "wstart rundll32 shell32,ShellExec_RunDLL SumatraPDF -reuse-instance")
一応、これでwsl-terminal上でEmacsを起動して.texファイルを読み込み、日本語入力してタイプセット、プレビューまではできた。全体的には大してハマる部分もなく、動作も速いので、MSYS2上でやるよりも良いかもしれない。
今後の課題
- X WindowでEmacsを起動させたい(でもあまり意味はない)。
wsl-terminalはrun-wsl-file.exeをコピーしてLinuxアプリの名前に変更すると、ダブルクリックで当該アプリが起動するという仕組があるので、それでいいかなという気もしている(まだ試していないけど)。
- forward-search
将来的に何とかなると嬉しい点としては、foward-searchかな。現在の方法だとパスの変換が問題となるので使えない(C-c
C-g
してもファイルが開かれるだけで該当部分にまでは移動しない)。
C-c
C-g
するときに、Ubuntu上のパス(/home/xxxxx/test.tex)をWindows上のパス(C:\Users\USERNAME\AppData\Local\lxss\home\xxxxx\test.tex)に変換すれば良さげなんだけど、全部のパスをうまいこと変換するスクリプトを書くぐらいなら、将来的にTeX側で対応してくれることを期待したい。