〈ア〉に後禁則ペナルティを設定すると……
% plain pTeX文書 \showboxdepth=100 \showboxbreadth=100 \tracingonline=1 \postbreakpenalty`ア=1234 \setbox0\hbox{アレ}\showbox0 \bye
> \box0= \hbox(7.77588+1.38855)x19.24432, yoko direction .\tenmin ア .\penalty 1234(for kinsoku) .\glue(\kanjiskip) 0.0 plus 0.4 minus 0.4 .\tenmin レ
フツー。
〈ア〉の直後にグルーを入れると……。
% 4行目を変える \setbox0\hbox{ア\hskip42ptレ}\showbox0
> \box0= \hbox(7.77588+1.38855)x61.24432, yoko direction .\tenmin ア .\penalty 1234(for kinsoku) .\glue 42.0 .\tenmin レ
…これもフツー。*1
後禁則ペナルティは \lastpenalty で取得できるか?
\setbox0\hbox{ア\xdef\pa{\the\lastpenalty}レ}\message{\pa}\showbox0
1234 > \box0= \hbox(7.77588+1.38855)x19.24432, yoko direction .\tenmin ア .\penalty 1234(for kinsoku) .\glue(\kanjiskip) 0.0 plus 0.4 minus 0.4 .\tenmin レ
取得できた。
後禁則ペナルティは \unpenalty で削除できるか?
\setbox0\hbox{ア\unpenalty レ}\showbox0
> \box0= \hbox(7.77588+1.38855)x19.24432, yoko direction .\tenmin ア .\penalty 1234(for kinsoku) .\glue(\kanjiskip) 0.0 plus 0.4 minus 0.4 .\tenmin レ
削除できない……みたい。
念のため、\lastpenalty
を調べてみる。
\setbox0\hbox{ア\xdef\pa{\the\lastpenalty}% \unpenalty\xdef\pb{\the\lastpenalty}レ}% \message{\pa/\pb}\showbox0
1234/0 > \box0= \hbox(7.77588+1.38855)x19.24432, yoko direction .\tenmin ア .\penalty 1234(for kinsoku) .\glue(\kanjiskip) 0.0 plus 0.4 minus 0.4 .\tenmin レ
アレレ……実際には消えていないのに、2 回目の \lastpenalty
はゼロに変わってる……。
またグルーを入れてみよう。
\setbox0\hbox{ア\unpenalty\hskip42pt レ}\showbox0
> \box0= \hbox(7.77588+1.38855)x61.24432, yoko direction .\tenmin ア .\glue 42.0 .\tenmin レ
アレレレレ、今度は禁則ペナルティが消えた……!
まとめ
わけがわからないよ……。
*1:明示グルーを入れたため和欧文間空白(xkanjiskip)が抑止された。