November 28, 2009

TeXlipseとdvioutの連携

最近、大型の文章作業をしているのですが、統合開発環境eclipse上でtexの文章をやりくりしたいと考えるようになりました。今まではTeXの作業をするにあたっては、WinShellというエディタと、dvioutというビューワを組み合わせていたのですが、参考とする資料がeclipse上で管理されていることが多く、いちいちeclipseとWinshellで行き来をするのが面倒くさくなったためです。加えてWinShellは全角入力をしている際のF10キー(キーボードを押したとおりの半角小文字に変換)が2度押ししないと利かないことがあり、かなタイパーの僕が英単語を入力するのにかなりの苦労をさせられる(F10が利かないと、いちいちIMEを切る必要あり)という問題がありました。

そこでまず、eclipseでTeXを扱うことができるようにしました。まさに目的にふさわしいプラグインTeXlipseを見つけることができました。このプラグインの導入によってキーワードのハイライトやワードカウント、dviやpdfへのコンパイル、およびdvioutやAcrobatといったビューワの起動など、WinShellが持っていた機能はほぼカバーすることができました。

しかしながら、ここでようやく表題に関わるのですが、WinShellで便利だった、dviout(dviビューワ)で現在編集している箇所がすぐ見れる機能(forward serach)と、dviout上で指定した位置にWinShellのカーソルを移動する機能(Invert search)、これら2つの設定方法が簡単には見つかりませんでした。

色々試行錯誤した結果、これらの機能を実現できるようになったので、TeXlipseを使っている/みようと思っている方は是非試してみてください。以下の3つのステップを踏みます。続きをどうぞ。
なお、以降の情報はTeXlipseのマニュアルとdvioutに付属のヘルプを参考にし、現時点での最新版 TeXlipse 1.3を対象にしています。

まず、TeXlipseによるdviのコンパイルで生成されるdviファイルに、forward / invert searchで必要とされる情報(ソーススペシャル)が埋め込まれるようにします。これはTeXlipseの設定においてBuilder settingsのLatex programの設定を次のスクリーンショットのように変更します。注目はArgumentsに-srcを指定していることです。

texlipse_latex.png

次に、dvioutを起動する設定でforward serachをするように設定します。Viewer Settingsのdvioutを起動する設定(自分で新規追加する必要があると思われる)で、Viewer arguments最後に"# %line '%texfile'"を指定すること、viewer supports forward searchにチェックをすること、これらを行ってください。以下のスクリーンショットのようになります。

texlipse_dviout.png

最後にinvert searchを有効にします。同じくdvioutを起動する設定において、上のスクリーンショットにあるInvert search supportをViewer runs external commandにしてください。
加えてdviout側の設定がありますが、2つの方法があります。両方法とも目的は同じで、dviout上でダブルクリックをした際に呼び出されるプログラム(パラメータ src: で指定される値)を 'path/to/java/javaw.exe^s-classpath path/to/eclipse/plugins/net.sourceforge.texlipse_1.3.0/texlipse.jar net.sourceforge.texlipse.viewer.util.FileLocationClient -p 55000 -f "%s" -l %d' にする(/path/to/hogeは適宜変更してください)ことです。
1つの方法はdvioutの設定を変更することで、dvioutのメニューのOptionsにある[Setup Parameters]-[Common]-[src:]の値を変更し、saveをすることです。
もう一つの方法は上のdvioutを起動する設定のスクリーンショットに示した方法で、-file= オプションを利用して、src:を外部ファイルで指定する方法です。指定した先のファイルには、 src=先ほどの値 を書いておきます。

以上で快適なTeXlipse + dviout生活を送れるようになりました。これでeclipseで扱うようになったファイルは C++ / C / Ruby / TeX / HDL / Perl / Plain Text と凄まじいことになっています。eclipseがなくなったら何もできないかもしれません。

01:16 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/731
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。