TeXの問題点を解決する開発環境を目指す!開発者に聞く:高機能なTeX・LaTeXコードエディタTeXstudio編

 TeXstudioは、組版処理言語であるTeXやLaTeXによる文書作成を支援するマルチプラットフォーム対応エディタだ。TeXやLaTeXでは独自のコマンドを文書中に埋め込むことで段組や表の作成、テキストの装飾などを行うが、TeXstudioはこれらのコマンドをハイライト表示する機能やコマンドを補完する機能などを搭載している。このTeXstudioの開発者に、TeXstudioの機能や今後の新機能などについて話を聞いた。

 SourceForge.netで公開されているPodcast「The Anvil Podcast」では、さまざまなオープンソースプロジェクトの開発者にインタビューを行っている。今回はTeXやLaTeX用のコードエディタ「TeXstudio」プロジェクトのTim Hoffmann氏へのインタビューをお送りする。

 ――今回のインタビューのお相手は、TeXstudioプロジェクトのメンバー、Tim Hoffmann氏だ。TeXは主に(科学・工学分野における論文といった)テクニカルな文書で使われている組版処理言語である。もともと数学の分野で多く使われていたのだが、その後それ以外の多くの分野でも使われるようになっている。さて、このプロジェクトを通して達成したいこととは? このプロジェクトに携わってこれくらいになる?

TeXstudioの編集画面
TeXstudioの編集画面

 Time: 私がこのプロジェクトのメンバーになったのは約半年前のことなんだ。プロジェクトがスタートしたのはたしか2009年だったと思う。おっしゃる通り、TeXやLaTeXは科学の分野で多く使用されている組版言語だ。実は、TeX自体の起源は80年代まで遡ることができるんだ。TeXは現在では多くの方面で広く使用されている。しかし、あまりに古いものだからいくつか問題もある。でもこれらの問題は、優れた開発環境を使うことで解決できるんだ。今日ではより多くの計算能力が利用でき、より多くのデータを処理できるからね。このような開発環境を作ることがTeXsudioの目標であり、LaTeXを使っての文書作成をより簡単にすることを目指しているんだ。

 ――最終的に目指しているのは、どういった機能を持つソフトウェアなの?

 Tim:TeXstudioにコントリビュートする以前、自分はさまざまなエディタを試していたんだ。それらはある程度はユーザーをサポートできるんだけど、そのほとんどには何かが足りないと感じたんだ。たとえば、LaTexでの表作成は若干厄介なところがある。エディタによってはこれを支援する機能を持っているんだけど、たとえば新しく表を作成することはできるものの、いったん表が完成してしまうと、支援機能を使っての編集ができなくなってしまう。生のTeXコードを編集しなければならなくなってしまうんだ。そこで私達は、ユーザーをもっとサポートできるようなものを作らなければならないと思ったんだ。

 たとえば、TeXstudioにはインラインで表を編集する機能がある。もちろん、ある程度はTeX言語について理解していないといけないのだが。そのため、TeXstudioにはコード解析機能や構文ハイライト機能も搭載しているんだ。TeXstudioは最も洗練された構文ハイライト機能を備えているエディタの1つだと思う。これによって、文書のソースコードをより簡単に読むことができるんだ。もちろんそれだけでなく、これはまだ未完成のものなんだけど、コマンドのセマンティクスを解析する機能にも挑戦している。そうすれば、コードが何を意味するのかをちゃんと解釈できるんだ。たとえば、あるコマンドに表が含まれていることが分かれば、ユーザーがその表の中の何かを変更したいと思ったとき、それを支援できる。

TeXstudioの表編集画面とそのプレビュー
TeXstudioの表編集画面とそのプレビュー

 ――あなたは日常の仕事にTeXやLaTeXを使っているの? TeXstudioはあなた自身の特定のプロジェクトに頻繁に使用するツールだったりする?

 Tim:そのとおり。私は物理学者だから、論文や書類を書くのにTeXをよく使っているよ。

 ――TeXstudioコミュニティは、新しく参加したいというコントリビューターに対してどの程度オープンなの?

 Time:とてもオープンだよ。誰でも、さまざまなレベルでの貢献が可能だ。だから、プログラミングができる必要も無い。ドキュメント作成やTeXstudio自体の翻訳、あとはアイコンのデザイン、必要であればTeXstudioの配布パッケージの作成など、それ以外のさまざまな方法で貢献できる。もちろん、プログラムができるならコードを提供してくれるのは大歓迎だ。

 ―― このプロダクトの次期リリースのために計画していることは? まだ開発中の機能があると言っていたけど、ほかにも将来期待できる新しい機能とかはあるの?

 Tim:ソースコードリポジトリ上には、まだリリースされていない新しい機能が結構たくさんあるよ。完全に新しいビルドシステムを含めてね。たとえばもしLaTeX文書を最終的にPDF形式に変換しようとした場合、ソフトウェアをコンパイルするみたいにかなり複雑なプロセスを辿る場合がある。この作業をTeXstudioが肩代わりして、ボタンを押すだけでPDFドキュメントを作成できるようにする、というものがある。そのほか、いくつかの異なるTeXツールをサポートするという話もある。TeXコンパイラには異なるものがいくつかあって、たとえば参考文献目録を作成する、といったさまざまな追加プログラムも存在し、それらがエコシステムを形成している。だから、さまざまなツールやTeXコンパイラをサポートするための実装を加えている。

 ちょっと先の話になるが、私達の目標の一つには、プロジェクトマネジメントをより容易にする、ということがある。たとえば、たとえば本を執筆しているときのように、巨大なドキュメントがあったとしよう。それを複数の異なるファイルに分割できるようにしたり、文章のロジックを表示するだけでなく、その概要を統合的なビューで閲覧できるようにする、といった機能を考えている。もちろん、ユーザーインターフェースの改良に向けても努力しているよ。

 ――Tim、忙しい中インタビューに答えてくれてありがとう。このプロジェクトの成功を祈っているよ。

 Tim: こちらこそどうもありがとう。