LoginSignup
4
4

More than 5 years have passed since last update.

Bash on Ubuntu on Windows上でTeXLiveのコンパイル&プレビュー環境を構築する(その2)

Last updated at Posted at 2016-09-13

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を起動するのにこんなファイルを作成。

yaskkserv-start.sh
#!/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に関する部分とかは別に設定している。

skk.el
;; 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に

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が起動してくれる。パスの変換とかを全く気にしなくていいのですごく便利。

init.el
(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側で対応してくれることを期待したい。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4