Ubuntu で TeX Live 2011 を利用する

TeX Live 2011 の導入

先日の記事 で Ubuntu での TeX Live 2011 の導入について少しだけ触れた。そこでは sudo の secure_path に Tex Live のディレクトリを追加したことを書いたが、インストーラ (install-tl) 実行時に「create symlinks in standard directories」を選択すれば /usr/local/bin 等にシンボリックリンクが作成され、そこから TeX システムにアクセスすることができるようになり、この場合、管理者権限を要求する TeX 関連のコマンド (sudo texhash など) も実行時にフルパスで指定をしなくてもよい。また、このオプションを指定してインストールした場合 TeX Live のディレクトリを PATH, MANPATH, INFOPATH に加える必要もない。

https://skalldan.files.wordpress.com/2011/08/wpid-option1.png

シンボリックリンクを作成するディレクトリ (/usr/local/bin) には上書きされてしまうような既存の TeX 関連のプログラムが含まれていてはいけないが、日本語を組版する場合でも通常は TeX Live (pTeX のマージされた 2010 以降) があれば十分だろうから、このオプション付きでインストールしておいて特に問題はないだろう。

すでに TeX Live 2011 がインストールされている場合、TeX Live 専用のパッケージマネージャ tlmgr を利用して symlink を追加することができる。

$ sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr path add

リンクを取り除く場合は path remove とする。

アップデートには同じく tlmgr を利用する。はじめに近くの CTAN mirror から適宜 repository を指定しておく。

$ sudo tlmgr option repository http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/

まず tlmgr 自体のアップデートを行っておいて、

$ sudo tlmgr update --self

インストールされているすべてのパッケージのアップデートを行う。

$ sudo tlmgr update --all

詳しい使い方はオプション --help doc を参照。

TeXworks の導入

以上のように最新版の TeX Live をインストーラから導入した場合、TeXworks を apt-get でインストールしようとすると、依存関係にある APT 管理下の TeX Live パッケージも再度インストールされようとする。これを回避するには http://www.tug.org/texlive/debian.html で説明されているように equivs を導入して、dummy パッケージをビルドしておく必要がある。手順はリンク先の通りだが、ここにも貼っておく。

$ sudo apt-get install equivs
$ mkdir -p /tmp/tl-equivs
$ cd /tmp/tl-equivs
$ equivs-control texlive-local
# edit texlive-local
$ equivs-build texlive-local
$ sudo dpkg -i texlive-local_2009-1_all.deb

texlive-local は サンプル を参考に編集する。

これで依存関係にある TeX Live 関連のパッケージをインストールすることなしに TeXworks を導入できる。

$ sudo apt-get install texworks

TeXworks だけでなく AUCTeX や Kile などたくさんのパッケージが texlive と依存関係にあるので、いずれにせよこの作業は行っておいた方が良いだろう。

今回はじめて TeXworks を使ってみたが、動作も軽快で操作も直感的で、とても使いやすい。Mac の TeXShop をモデルとしているらしいので、TeXShop の操作方法に慣れていれば使用に戸惑うことはないだろう。タイプセット方法にはデフォルトで多くの選択肢が用意されており、私が普段使用している Latexmk 用のコマンドもはじめから含まれていた。ただし Latexmk の TeX プログラムに platex を使用するならば、はじめに設定されている引数は変更する必要がある (cf. Defining new typesetting tools)。

https://skalldan.files.wordpress.com/2011/08/wpid-latexmk.png

latexmk の設定ファイル (~/.latexmkrc) には次のように書いている。

$latex  = 'platex -kanji=utf8 -src-specials -interaction=nonstopmode';
$bibtex = 'pbibtex -kanji=utf8';
$dvips  = 'dvipsk';
$dvipdf  = 'dvipdfmx %O -o %D %S';
$makeindex  = 'mendex -U -r -c -s dot.ist';
$dvi_previewer ='xdvi';
$pdf_previewer = 'evince %O %S';
$pdf_mode = 3;
$pdf_update_method = 0;

タイプセットは「Control + T」で行い、スクリーンの左側に TeX 原稿、右側にプレビュアが置かれる (→ image)。PDF は自動で更新される。

https://skalldan.files.wordpress.com/2011/08/wpid-tesworks-demo.png

Emacs と TeXworks

Emacs (AUCTeX) で原稿を編集してプレビュアのみ TeXworks のものを使うこともできる。

(add-hook 'LaTeX-mode-hook
          (lambda ()
            (add-to-list 'TeX-command-list
                         '("pdfview" "texworks %s.pdf" TeX-run-background t nil))))

これで C-c C-c pdfview <RET> で TeXworks のプレビュアが立ち上がる。一度立ち上げておけば、DVIPDFMx 等で PDF に変更が加わる度に更新してくれる。ただ、Ubuntu 標準搭載の Evince も動作は軽快で PDF の自動更新や SyncTeX にも対応しているので、どちらを使うかは迷うところだ。

TeXworks のように「Control + T」で変更を保存してタイプセットを行うには例えば次のように書いておけば可能となる。

(add-hook 'LaTeX-mode-hook
          '(lambda ()
             (define-key TeX-mode-map (kbd "C-t")
               (lambda ()
                 (interactive)
                 (save-buffer)
                 (TeX-command-menu "latexmk") ; 適宜変更
                 ))))

参考

  • XeTeX の作者としても知られる Jonathan Kew さんによる TeXworks についてのプレゼンテーション (TUG 2010), “TeXworks for newcomers… and what’s new for old hands”:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s