何故か、TeX 言語(Lua でなくて)で Grass/「ほむほむ」のインタプリタを作ることがネタとして意味があることになってしまったので、作ってみた。
とにかくサンプル
[test-homuhomu-1.tex]
% 文字コードは UTF-8 \documentclass[a4paper]{article} \usepackage{bxgrassator} \begin{document} \begin{exechomuhomu} ほむほむほむ ほむほむほむ ほむほむ ほむほむほむ ほむほむ ほむほむ ほむ ほむほむ ほむほむ ほむ ほむほむほむ ほむ ほむほむほむほむ ほむ ほむほむ ほむ ほむほむほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむ ほむ ほむ ほむほむほむほむほむほむほむほむ ほむ ほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむ ほむほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむ ほむほむ ほむ ほむほむほむほむほむ ほむ ほむほむほむほむ ほむ ほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむ ほむほむほむほむ ほむほむ ほむほむほむほむほむほむほむほむ ほむほむほむ ほむほむほむほむ ほむほむほむほむ ほむほむほむほむほむほむほむほむ ほむ \end{exechomuhomu} {\ttfamily\begin{exechomuhomu*} ほむほむほむ ほむほむほむ ほむほむ ほむほむほむ ほむほむ ほむほむ ほむ ほむほむ ほむほむ ほむ ほむほむほむ ほむ ほむほむほむほむ ほむ ほむほむ ほむ ほむほむほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむ ほむ ほむ ほむほむほむほむほむほむほむほむ ほむ ほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむ ほむほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむ ほむほむ ほむ ほむほむほむほむほむ ほむ ほむほむほむほむ ほむ ほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむ ほむほむほむほむ ほむほむ ほむほむほむほむほむほむほむほむ ほむほむほむ ほむほむほむほむ ほむほむほむほむ ほむほむほむほむほむほむほむほむ ほむ \end{exechomuhomu*}} \end{document}
これを pLaTeX で組版する。(LuaLaTeX でないぞ!)*1
# platex -kanji=utf8 test-homuhomu1.tex # dvipdfmx test-homuhomu1.dvi
どうやら動いているように見える。
インストールと使用の方法
上のサンプルで読み込んでいる bxgrassator というパッケージがインタプリタの機能を提供する。これの使い方を簡単に説明する。以下の場所からダウンロードできる。
- GitHub: zr-tex8r/grassator 2011/12/25 v0.2.4
インストールは、以下のファイルを「TeX システムから見える場所」に置く。
bxgrassator パッケージの使用法については先日示した ixgrassator (Lua で実装したインタプリタを LuaTeX で動かすもの)と同じであるのでそちらを参照してほしい。細かい仕様については若干の相違があるが、それは後日説明したい。注意として、「Grass で非 ASCII 文字を使う」および「『ほむほむ』言語を扱う」ためには、pTeX 系/XeTeX/LuaTeX(要するに 8 ビット欧文 TeX 以外)が必須になる。
さらにサンプル
[test-bxgrassator.tex]
「Grass でナベアツ」を実行した例も載せておく。フォント周りの設定は先日のサンプルと同じ。
% 文字コードは UTF-8 \documentclass[a4paper]{article} \usepackage{bxgrassator} \usepackage{type1cm} \usepackage[T1]{fontenc} \usepackage{lmodern} \begin{document} \begin{procgrass}{\NabeAzz} wwwWwwwWwwwvwwwWWWwwWWWWwwwWwwwWWWwvwwwWWWwwWWWWwwwWwwwWWWwWWWWWWwvwWWwWWWWwWWWW WwWwwwwwwwwwWwwwwwwwwwwwWWWWWWWwwwwwwWWWWWWWWwWWWWWWWWWWwWwwwwwwwwwwwwwwWwwwwwww wwwwwwwwwWWWWWWwWwWwwwwwwwwwwwwwwwwwwWWwwwwwwwwwwwwwwwWWWwwwwwwwwwwwwwwwwwWWwwww wWWwWWWWwWWWWwWWWWWwWWWWWWwWWWWWWWWwWWWWWWWWWwWwwwwwwwwwwwWwwwwwwwwwwwwwwwWWWWWW WWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWWWWWWWWWWWWwwwWWWW WWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwWWWWwWwwwwwwwwWWWwWWWWwWWWW WWWwwwwwWwwwwWWWWWWwwwwwWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwWwwwWW wWWWWWWWWWWWwWWWWwWWWWWwWWWWWWwWWWWWWWWWWWWWWWWwWWWWWWWWwwWwwWwWwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWwwwwww wwwwwwwwwwwwwwWWWwwwwwwwwwwwwwwwwwwwWWWWwwwwwwwwwwwwwwwwwwWWWWWwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWwwwwwwwwwwwwwwWWWWWWWwwwwwwwwwwwwwwwwwww WWWWWWWWwwwwwwwwwwwwwwWWWWWWWWWwwwwwwwwwwwwwWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwWWWWWW WWWWWwwwwwwwwwwwwwwwWWWWWWWWWWWWwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWwwwwwwwwwwwwwwwwWW WWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWWWWWWWWWWWWwWWWW WWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWw WWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWW WWWwvwwvWWwvwwwWWWwWwwwvWwwwvwwwWWWwwwwWwwWWWWwWWWWWWwwwwwwwwwwWwwwwwvwwwwwwWwww wwwWwwwwwwWwwwwwwWwwwwwwWwwwwwwvwWwwwwwwwWwwwwwWwwwwwwwwWWWWWwWwwWwwwWwwwwWwwwww vwwwwWWWwWwwwwwWWWWWWWWWWWWWWWWWWWwwwWWwWWWWWWwWwwwwwwvwwwwwwwWWWWWWWWwwwwwwwWww wwwwwWwwwwwwwwwwwwwwWwwwwwWWWWWWWWWWwwwwwwWWWWwWwwwwwwwwwWWWWWWWWWWWWWwwwwwwwwww WwwwwWwwWWWWWWWWWwWwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwWwwwwWwwWWWW WWWWWWWWWWwWwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwww wwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWwwwwwwwwwwwwwwwwwwwwwwWww wwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwww wwwwwwwwwwwwwwwWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwWwwwwwwwwwwwwwwwWw wwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwvwwwwwwwWWWWWWwwwwwWWWWWWWww wwwWwWwwwWWWWWWWWWWwwwwwwwWwWwwwWWWWWWWWWWWWWwwwwwwwwwWwWwwwWWWWWWWWWWWwwwwwwwww wwwwwwwwWwWwwwvwwwwwwwWWWWWWWwwwwwwwwwwwwwwwwwwwwwwWWWWWWWwwwwwwWwwwwwwwwWwwwWww wwwwwwwWWWWWWWWWWWwwwwwwwwwWwwwwwWwwWwwwwwwwwwwwwwwWwwwwwwwwwWwwwwwwwwwwwwwwWWWW WWWWWWWWWWWWWwwwwwwwwwwwwwwWwwwwwWwwWwwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwWwwwwww wwwwwwwwwwwwwWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWwwwwww wwwwwwwwwwwwvwwWWwwwwwwwwwwWWWwwwwwwwwwwwwwwWWwwwwwwwwwwwwwwWWwwwwwwwwwwwwwwwWWW WwWWWWwwWWWWWWwWWWWWWwwWWWWWWWWwWWWWWWWWwwWWWWWWWWWWWWWWWwwwwwwWwwwWWWWWWWWWWWWW wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwWWWWWWWWWWWWWWWWWWwwwwwwwwwwWwwWWWWwWwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwww wwwwWwwWWWWWWWWWWWWWWWWWWWwWwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWW WWWWWWWWWWWWWWWWWWWWWWWWWwWwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWwWWWWWWWwwwwwWWwWW WWWWwwwwwwwwwwwwwwwwwvwwwWWWwwWWWwwWWwvwwWWwwwwwwwwwwwwWWWwwwwwwwwwwwwwwwwWWwwwW WwwwwWWWWwWWWWwwWWwWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWww wwWWwWWWwwwwwWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwWWWWWWWWWWWWWWWWwwwww wwwwwwWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw wwwwwwWwwwwwwwWWWwvwwwWWwWWWWwvwwwwwwWWWWWWwwwwwwwwwwwwwwwwwwWWWWWWWwwwwwwwwwwww wwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWW WWWWWWWWwwwwwwwWwwwwwWWWwWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwWWWWWW WWWWWWWWWWwwwwwwwwwwwwwwWWwWwwwwwWWWWWWWWWWWwWWWWWWWWWWWwwWWWWWWWWWWWWWwWwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWwwwwwwwww wwwwwwwwwWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwww wwwwwwwwwWwwwwwwwwwwwwwwwwwwwwwWWWwWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWwwwwwwwWwwvwwWWwwwwwwwwwwwwwwwWWWwwwwwwwwwwwwwwwwwwwWWwwwwwwwwwwwwwwwwww wWWwwwwwwwwwwwwwwwwwwwwWWWWwWWWWWWWWwwwwwwwWwwwwWwwwWWWWWWWWwwwwwwwwwWWWWWWWWwww wwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWWWwWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwW wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWwwwwwwWwwwwwwWwwwvwWWWWWWWWWWWWWWWW WWWWWWwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWWWwwwWwwWWwWWWwWWWWwWWWWWWWWwwwwww wwwwwwwwwwwwwwwwwwwWwwvwWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWwWWWWwWWWWWWWWWWWW WWWWwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWwwwWWWwWwww \end{procgrass} \newcommand*{\AhoFont}{\usefont{OT1}{cmfr}{m}{it}\LARGE} \NabeAzz{40} % echo プログラム(出力処理のチェックに使っていた…) \begin{procgrass}{\echo} wwWWwWWWwvwwWWwWWWwWWWWwvwWWWwwwWwwwWWWWwwwwWWWWWWwwwwwwwwWWWwwwwwwwwwWWWwwwwwww wwwWWWWwwwwwwwwwwwWwwwwwwwwWWWwWWWWWwWWWWWWWwvWwwwwwwvwWWWWWWWWwwwwwwwwvwWWWWWWW WWWwwwWwwwwWwwwwWwwwwwwwwwwWwwwwWWWWwwwwwwwWwwwwwwwWwwwwwwww \end{procgrass} \noindent\echo{Hello, \string\TeX\string\ world!} \end{document}
もちろん、「ほむほむ」でナベアツすることも可能である。