現在、TeXブックとTeXbyTopicを読み勉強しています。
そこで出てくるコードが理解出来ず、質問させて頂きます。
a\catcode`\^^M=12
b
このコードをTeX(Version 3.14159265)で実行するとabflが出力されます。
これはaで水平モードに入り、
\catcode`\^^M=12が処理された時点でTeXはS状態となって、
行端文字が、N状態へ状態を変えるだけで捨てられ、
bの後の行端文字がflと出力されるということだと思います。
しかしこれを以下のようにすると、aflbflが出力されます。
a\catcode`\^^M=12\relax
b
何もしない\relaxを入れてもS状態だと思うのですが、aの後にflが出力される理由が分かりません。
また次のコードもよく分かりません。
a\catcode`\^^M=13 %
b
TeX by Topic P.34下部に出現しますが、%の意味はあるんでしょうか?
S状態における[5]と[14](行の終了文字とコメント文字)は等価なもので、
行を終了させ、(文字自体は捨てて)N状態に移行させるものだと思います。
そうすると、%を使う必要性が全くないように思うのですが、TeX by Topicでは
意味があるように書かれています。(この説明自体よく分からないです。)
ご教授お願いします。