ASCII pTeX のソースを読む

pTeX のソースファイル(WEB 形式)を作って読みましょう。 例えば、ptex-src-3.1.2.tar.gz から ptex-base.ch を、 tetex-src-2.0.tar.gz.tar から tex.web と tex.ch を抜き出して使います。

作成手順

  1. まず、ptex.ch を作成します。 tie -c ptex.ch tex.web tex.ch ptex-base.ch
  2. 次に、ptex.web を作成します。 tie -m ptex.web tex.web ptex.ch
(注) 1. と 2. はまとめて tie -m ptex.web tex.web tex.ch ptex-base.ch としてもいけます。
  1. 続いて ptex.tex を作ります。 weave ptex.web
  2. 組版します。 ptex ptex.tex
しかしこうしても、索引と目次が出力されるばかりで、 本文のない短い dvi が出来上がってしまいました。
  1. そこで、ptex.tex を編集します。 88行目付近にある \let\maybe=\iffalse を \let\maybe=\iftrue に変更します。
  2. これで、本文の組版が進行しますが、何ヶ所かエラーが出ます。 src_specials や wchr_token のアンダースコアが通らないので、 他のところに習って \_ に変更します。(同様なものがなぜか10ヶ所くらい???)

(補足) WEBソースファイル中の、ブレイス「{}」で囲まれた部分は、 weave したとき、texソースファイルにそのまま出るところなのではないか? tex.web中のブレイス部分には {\TeX} や {foo\_foo} などの記述がある。 しかるに、tex.ch と ptex-base.ch 中では、この点に注意が払われておらず、 {wchar_token} や {... src_specials ...} といった記述がある。 ここは、{wchar\_token} や {... src\_specials ...} となっているべきでは? すると、上の 6. に書いたエラーは起こらなくなるのでは。

以上で編集は完了です。

  1. 再び組版します。 ptex ptex.tex

名前の由来について

WEB には weave と tangle が付き物のようです。 “What a tangled web we weave! ”あるいは tangle を省いた “the web we weave”というような成句があるのでしょうか? “web we weave”というフレーズをインターネットで検索すると 山ほどの使用例が見つかります。 残念ながら英語や英語圏の文化に疎いので詳しいことはわかりません。 もしも何かご存知ならば 電子メールででもお教えください。[2005.9.15]

[追記] この後調べてみたところ、どうやら出典がわかりました。 ウォルター スコット(Walter Scott)による『マーミオン(Marmion)』の中に 「O, what a tangled web we weave, When first we practise to deceive!」 という一節があります。 この一節はいろいろな文学作品に引用されているようで、 例えば『赤毛のアン』では、髪を染めるのに失敗して嘆くアンが次のように引用しています。 「ひとたび欺き始めれば、もつれもつれて蜘蛛の糸。」

また、この一節の出典はシェイクスピア(Shakespeare)であると、しばしば間違って語られます。 シェイクスピアはスコットより古い時代の人物なので、もしもシェイクスピアが書いたものが あるならば確かにそうなります。しかし違うようです。 これは想像ですが、シェイクスピア作品を独自の演出を込めて上演したものの中に スコットの一節を拝借したものがあって、 それを見た人の中にシェイクスピアの言葉だと信じた人がいたのではないでしょうか。 シェイクスピアは多くの名辞を残した人物でしたからこういう間違いも 広まりやすそうですね。[2005.9.15(上に書いた数時間後)][2006.4.11 少し推敲]