第1章 Lamuriyanについて
1-1章作り始めた動機
私がいい加減ブログの記事を自分で読む時に探すのが大変なので、HPにまとめようかとしていたときに、やたら私の記事は数式が多いのでTeXでホームページ管理できないかなぁと考え、探してみましたが、
-
Javaで使える
-
DOM構造をはき出す
-
relをリンクに変換する
-
マクロが使える
ぐらいの条件で数秒探してみましたが、残念なことに私は探すことが出来ませんでした。
ある女王は言ったそうです。パンがないなら作ればいいじゃない。
私もその言葉に従うことにしました。ないなら作ればいいと。そして気がついたのです。
あ、私、TeXで引数とるマクロすら書いたことなかったわ
TeX仕様どころか、引数とるマクロすら書いたことがないのに処理環境を作り始めた世紀の愚者nodamushiによるTeXライクな何かLamuriyanはこうして始まったのです。
1-2章Lamuriyanの方針
LamuriyanはHTMLのDOM構造を出力することを最終目標としており、デザインをすることやサイトを構築することを目的としていません。
Lamuriyanで出力された結果を別に作ってあるテンプレートに挿入してHTML全体を作る、例えば記事の内容を作るような場面を想定して作っています。もちろん、やろうと思えばLamuriyanだけでデザインもすることは出来ますが、わざわざLamuriyanで行うメリットが見当たりません。
デザインはCSSが担当すべきであり、HTMLが担当するべき事ではありません。そのため、Lamuriyanはなるべくデザインに関する内容はclassを出力することで表現します。たとえば、太文字にしろという\bftextなどは、<span style="font-weight:bold">を出力するのでは無く、<span class="boldweight">という結果を出力します。実際に太文字にするかどうか、どういうデザインにするかはCSSに一任します。なので、Lamuriyan上では太文字にしろ、という命令でも、実際には細字にしても構いませんし、テキストシャドウを用いて表現しても構いません。
サイト構築に関しても、Lamuriyanの立ち位置はページを出力、もしくはページの一部を生成するツールという立ち位置を意識しており、サイト管理、構成はLamuriyanを用いるプログラムに任せることを前提としています。
1-1章 でも述べたように、処理系を作り始めるにはお粗末なTeXの知識しか無く、TeXとの完全な互換を目的とした物ではありません。
あくまで、TeXライクな何かであり、過去の資産の再利用は気にしていません。過去に書いたTeXの記事を軽い修正でHTMLに出来ればな、ぐらいの心づもりです。
過去の資産の利用ではなく、これから記事を書いていくときに、TeX形式の数式を使うことが出来、数式などの番号管理をする必要が無く、<section>タグとかも書かなくても自動で生成され、同じ所はマクロで自動化することが出来、あと私が過去に作ったソースコードをシンタックスハイライトするプログラムを自動で呼び出すことが出来る、そんなシステムを目指しています。
その他の精神は以下のような物です。
-
動けばいい
-
実行速度は求めない
-
省メモリは求めない
-
本家TeXと挙動が違う!バグだ!?否、仕様である
Lamuriyanを単純にMathMLを出力するツールとしてだけ使いたいという要望が万一ありましたら、DOMを生成するのでは無く、直接文字列を出力する為の簡易ツールを公開する………かもしれません。
1-3章Lamuriyanの由来
Lamuriyanは nodamushiが作るTeX環境ということで、nTeXと呼んでいましたが、ググってみたら普通にいっぱい出てきました。というわけでnTeXから改名してLamuriyanという名前に変えました。この仮本部はnTeXの名前で作ったので、URLがntexです。
名前の由来は「LaTeX目指してみたけど、マジ無理やん」を略して「La無理やん」です。漢字ひらがなローマ字混じりだと打つのが面倒くさいのでLamuriyanとなりました。Lamuriyanでは\Lamuriyanとかくことで表示されます。頭文字のLAはLaTeXから来てるので、AがLの上に乗ります。Lamuriyanと複雑な表記をしたくないときはLamuriyanと書いてください。