昨年作ったLatex-Toolsのうち、Buildtoolsをアップグレードしました。 githubにアクセスするとソースファイルをダウンロードすることができます。 今回のアップグレードでは、
- 英語と日本語のReadme.mdとチュートリアルを追加した。
- newtexの仕様を大幅に変更して、手作業を減らし、より使いやすくした。
- makeに加えてrakeを使えるようにし、rakeを推奨ビルドツールにした。
- インストールを単純にし、分かりやすくした。
- lbがlatexengineを通して、どのエンジンが相応しいか予想する機能は残っているが、lb.confで積極的に指定する方法を推奨することにした。
- バグの修正
などが行われました。
このアップグレードの中では、特にnewtexがはるかに使いやすくなったと思います。 また、昨年の段階から、ドキュメントの不足を感じていたのを今回のアップグレードで解決しました。 詳細はgithubのレポジトリをご覧ください。
このツールは、もともと大きな文書、例えば100ページを越えるような書籍を作る際のツールとして作られましたが、 newtexが大きく強化されたために、より小さい文書でも有効であることが分かってきました。 それは、文書の構造を把握しやすくなったためです。 そもそも、コンピュータの特長は大量のデータを効率よく整理、解析できることにあります。 それがLaTeXのような大きなソースファイルを扱うソフトウェアにあまり適用されてこなかったのではないでしょうか。 多くの場合、LaTeXのソースの管理は作成者の人的努力に任されていたと思います。 このツールでは、
- ソースファイルをルートファイル、helper.tex、サブファイルに分類して構造化した。
- 使われているサブファイルや画像ファイルを検索する手段を提供した。
- ビルド・ディレクトリ(_build)を作ったことにより、ソースファイルのディレクトリをきれいに保つことができるようになった。
- サブファイルの単独コンパイルにより作業の効率化が図られた。
- アーカイブのためのスクリプトarlによって本当に必要なファイルのみをアーカイブすることができるようになった。 逆に不要なファイルを簡単に除くことができるようになった。
などの機能を提供することにより、より一層ソースファイルを管理しやすくなった、ということができると思います。
このツールはシェル・スクリプトで記述されているので、linux上でしか動きませんが、同様のことはperlやrubyといったスクリプト言語で簡単に実現できます。 そのことは他のオペレーティング・システムでも、このツールをインプリメントできるということです。 私自身は、linuxユーザなのでそこまでやる考えはありませんが、興味を持たれた方は、ぜひ移植していただきたいと思います。