LaTeX処理自動化ツールClutTeXの今後の計画について。
まず、いくつかバグ修正や機能追加が溜まっているのでバージョン0.6をリリースしたいです。
それで、TeX LiveのContributing package
を久しぶりに読んだら「manページを書いた方が良い」「tarball中にバージョンがわかるファイルがあると良い」みたいな文言があった(以前読んだ時に読み飛ばしたのか最近新しく追加されたのかは未確認)ので、manページを書こうとしています。
manページは他のフォーマットから(pandocなどで)変換することもできるようです(llmkを見たらronnというツールでMarkdownから変換しているようです)が、ツールへの依存を増やしたくないので、書き方を勉強して手書きしようとしています。具体的にはmdocという記法で、
というページを参考にしています。
それ(v0.6リリース)が終わったら、Luaで書かれたコードをStandard MLに移行したいです。LunarMLを作ってきた目的の一つです。ソースコードはStandard MLで書いても、配布は従来通りLuaスクリプトとして行えるようにします。
ところで、静的型言語からLuaに変換する系のやつを改めて調べると
- teal-language/tl: The compiler for Teal, a typed dialect of Lua
- Unisay/purescript-lua: Purescript compiler back-end for Lua
みたいなやつが増えていました(2020年ごろはなかった or 知名度が低かったと思います)。まあLunarMLを作ってしまったのでLunarMLでやります。
こっちの作業もブランチを切って少しずつ進めています。
コンパイルに使うLunarMLはまだリリースしていない状態で、他人が使うには難があるので、ClutTeXのSML版を出す前にLunarMLのバージョン0.1をリリースしたいです。ただし、ClutTeXのSML版が書ける程度に標準ライブラリーを充実させたいです。
SMLへの移行が終わったら、本格的なバグ修正や機能追加に移ります。バグ修正としては、BibTeXの .bib
ファイルを更新した際に再処理を行うようにしたいです(Biberに関しては最近プルリクがあって実装して頂きました)。
機能追加としては、ユーザーごとの(プロジェクトに依存しない)設定ファイルを実装したいです。設定項目はターミナルの色付けや、終了時のアクション(「PDFビューワーで開く」などのコマンドを実行できるようにする)を登録できるようにしたいです。フォーマットはTOMLを考えています(なので、TOMLパーサーを書かなくてはいけない)。
まとめると、以下の順序と時期で進めていきたいです。
- ClutTeX v0.6リリース:11月中、遅くとも年内
- ClutTeXをStandard MLで書き直したものがある程度動くようにする
- LunarML v0.1リリース:できれば11月中、遅くとも年内
- Standard MLで書き直されたClutTeXをリリース(v0.7?):時期未定