本の諸々が一段落したので、最近はLaTeX処理自動化ツールClutTeXの開発を進めています。前(2023年11月)に計画を書いて以降の進捗を書きます。
続きを読む「TeX」カテゴリーアーカイブ
LaTeXでPDF/XやPDF/Aを出力するメモ
LaTeXで書いた文書は普通はPDFとして閲覧・配布すると思います。このPDFですが、用途によってはPDF/XやPDF/Aなどの標準化されたサブセットにしたいかもしれません。
よくあるやり方は、LaTeXで生成したPDFをAdobe等の製品を使ってPDF/XやPDF/Aに変換する方法です。しかし、ここではpdfxというLaTeXパッケージを使ってPDF/XやPDF/Aを生成する方法をやってみます。
この話題については既存の記事もあるので、それも参考にしてください。
- LuaLaTeXでPDF/X-4やPDF/X-1aなPDF生成する|きえだゆうすけ(p_typo)
- LuaLaTeX で pdfx パッケージを使い PDF/A に準拠した PDF を作る #PDF – Qiita
最近のLaTeXでは標準の機能でPDFメタデータを埋め込めるやつもあるようですが、ここでは従来の(?)pdfxパッケージを使います。
続きを読むClutTeXについての計画
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?):時期未定
Standard ML on LuaTeXしてみる
この記事は TeX & LaTeX Advent Calendar 2021 の15日目の記事です。
続きを読む\autorefの欠点と代替
hyperrefパッケージの\autorefの欠点と、\autorefを使わない代替方法を挙げてみる。
続きを読むTeXConf 2019向けのClutTeX発表資料
これは TeX & LaTeX Advent Calendar 2019 の10日目の記事です。9日目は munepi さんの ぼくのかんがえたさいきょうのLaTeX索引スタイルファイル でした。11日目は doraTeX さんです。
10月に予定されていたTeXConf 2019 が残念ながら台風によって中止になってしまいました。そこで、この記事では TeX 言語で台風の進路を制御する方法……ではなく、 TeXConf 2019 の発表で使う予定だった資料の供養をします。
続きを読むTeXにとってやばい入力ファイル名
空白や記号類を名前に含むファイル名をTeXで処理させようとすると、うまく処理できないことがある。
例えば foo%bar.tex
というファイルを latex foo%bar.tex
のような感じでLaTeXに処理させようとすると、 %
以下の部分がコメント扱いされ、LaTeXは代わりに foo
(.tex
) というファイルを処理しようとする。
目次
やばい名前のファイルを難しいことを考えずに処理できればいい方へ
8月中にリリースされる ClutTeX v0.4 を使って cluttex -e latex foo%bar.tex
とすれば良い。
どういうファイル名がやばいのか、ClutTeX v0.4はどのように問題を解決するのか知りたい方へ
例によって結論に至るまでの経過をくどくど書いているので、結論だけ知りたい方は適当に読み飛ばすことをお勧めする。
続きを読むLuaLaTeXでダウンロードカードを作った話
この記事は、TeX & LaTeX Advent Calendar 2018 の 15日目の記事です(遅くなってすみません)。
技術書典5で電子版を配布するのに利用したダウンロードカード(電子書籍をダウンロードするためのURLとシリアルコードが記載された紙)の話をします。技術書典の原稿執筆でやったことの全体像については、 同人誌「代数的数を作る」ができるまで/PandocとかLaTeXの話 を参照してください。 続きを読む
LaTeX処理自動化ツール ClutTeX をリリースした
2年ほど前からマイペースで作っていたLaTeX処理自動化ツールClutTeXだが、ある程度の機能が整ったと判断し、バージョン0.1をリリースした。ClutTeXに関しては2年前にもブログ記事で紹介したが、初のリリースを迎えた今、改めてその機能と使い方を紹介する。 続きを読む
同人誌「代数的数を作る」ができるまで/PandocとかLaTeXの話
前の記事「技術書典5に初サークル参加した記録/前日まで」は、サークル参加と紙書籍配布を軸に色々書いたが、この記事ではコンテンツである「週刊 代数的実数を作る」からの「代数的数を作る」の流れと、執筆に使った技術について色々書く。
執筆に使った技術(Pandoc filter等)について気になるものがあれば、コメント欄に書き込んでもらえれば別途詳細な記事を書くかもしれない。 続きを読む