LaTeX処理自動化ツール ClutTeX をリリースした

2年ほど前からマイペースで作っていたLaTeX処理自動化ツールClutTeXだが、ある程度の機能が整ったと判断し、バージョン0.1をリリースした。ClutTeXに関しては2年前にもブログ記事で紹介したが、初のリリースを迎えた今、改めてその機能と使い方を紹介する。 続きを読む

技術書典5に初サークル参加した記録/当日

技術書典5の当日編。

前日までの話はこっち:技術書典5に初サークル参加した記録/前日まで

原稿の内容・技術面に関してはこっち:同人誌「代数的数を作る」ができるまで/PandocとかLaTeXの話

当日会場に来れなかったという方は、BOOTHで電子版(PDF版)を購入可能です:

代数的数を作る 多項式の根と因数分解のアルゴリズム – だめぽラボ – BOOTH(同人誌通販・ダウンロード)

続きを読む

同人誌「代数的数を作る」ができるまで/PandocとかLaTeXの話

前の記事「技術書典5に初サークル参加した記録/前日まで」は、サークル参加と紙書籍配布を軸に色々書いたが、この記事ではコンテンツである「週刊 代数的実数を作る」からの「代数的数を作る」の流れと、執筆に使った技術について色々書く。

執筆に使った技術(Pandoc filter等)について気になるものがあれば、コメント欄に書き込んでもらえれば別途詳細な記事を書くかもしれない。 続きを読む

技術書典5に初サークル参加した記録/前日まで

前回の記事で告知したように、10月8日に池袋サンシャインシティーで開かれた技術系同人誌即売会「技術書典5」に、「だめぽラボ」としてサークル参加した。

この記事ではその経過と判断を、日記に近い形でまとめておく。この記事には前日までの分を書き、当日の実際の売れ行きは別の記事に書く。また、冊子の内容や技術的な話(PandocやLaTeXの話)もこの記事には書かず、別の記事に書く。 続きを読む

微分の連鎖律と関手性

最近(ここ半世紀くらい)圏論が流行りですね。しかし圏論は抽象的で、具体例や圏論の言葉を使うことによるメリットが見えないと、なかなかとっつき難いかもしれません。

この記事では、高校数学に出てくるアレが、実は圏論の言葉でスッキリ(?)表せることを見てみます。

予備知識:高校数学、若干の圏論、あとは多変数の微分の知識があればなお良い 続きを読む

SML、はじめました

動機

プログラマーの3大欲求と言えば「プログラミング言語(処理系)を作りたい」「テキストエディターを作りたい」「OSを作りたい」である。これらの欲求は定期的に湧いてきて、多くの場合は実を結ぶことなく霧消する。

そんなわけで先日、筆者にもプログラミング言語の処理系を作りたい欲求が湧いてきた。

具体的には、ML系の型推論を持った言語を作りたい。また、エフェクト推論・リージョン推論のような技法を試したい(一旦普通に処理系を作り、その後に改造してエフェクト推論やリージョン推論を試す)。

別の方向性の動機として、型のないスクリプト言語(具体的にはLua)で大きなソフトウェアを書くのがだるい。静的型のついた言語からスクリプト言語にコンパイル(トランスパイル)するやつを作りたい、というものがある。

最近はJavaScriptへトランスパイルする処理系は色々登場したが、それ以外のスクリプト言語を吐き出す処理系というのはまだ少ないように思う。

これらの動機付けが混ざった結果、「型推論のある言語からスクリプト言語へのコンパイラーを作れば良い」という結論に至った。 続きを読む

日光白根山登山

すでに8月の半ばになってしまったが、7月に行った登山について書く。

計画

今年は梅雨明けが早かった。夏山シーズンの到来だ。東京は酷暑だ。山の上に逃げるしかない。

7月中に1泊ぐらいで山に行っておきたい。関東近郊で自分が行ったことのない山として、いくつかの候補の中から今回選んだのは、日光白根山である。 続きを読む

TeXのターミナル出力がうるさい件

TeX文書をターミナルで処理させると、ターミナルに大量の出力が表示させる。

そのうち(パッケージ開発者ではない)一般ユーザーにも有益なものはほんのわずか(Undefined referenceとかOverfull hboxとか)で、大半は価値のない文字列である。一般人というのは「大量のメッセージが表示される」→「解読するのが面倒なので読まない」という思考回路で動く[要出典]ので、価値のない文字列が大量に表示されるのは有害である。(一般人はターミナルではなくTeXworksとかの統合環境を使うのでターミナルにどれだけ文字列が表示されようと関係ない、という説はある)

そこで、TeX文書の処理時に表示される文字列がなるべく少なくなるようにするにはどうしたらいいか考えよう。

なお、-interaction=batchmodeを指定すれば当然ターミナルに表示される文字列は減るが、しかしそれでは有益な情報も表示されなくなるし、何よりエラー時のメッセージもターミナルに表示されなくなってしまうので、-interaction=batchmode以外のモードで表示文字列を減らすことを考える。 続きを読む