
でTeXBook についてそれは言う
\prevdepth
の時点でのの値は\halign
内部の垂直リストの先頭で使用され、 の最終値は\prevdepth
配置が完了したときに囲む垂直リストに引き継がれます。これにより、行間グルーは配置の最初と最後で適切に計算されます。
15.2節ではトピック別TeXと書いてある
垂直リストの先頭では
\prevdepth
が に設定されます-1000pt
。ただし、そこに含まれる\halign
および\noalign
コードでは、周囲のリストから引き継がれます。
私は次の文を理解することができますTeXBook について、しかし、トピック別TeX\prevdepth
とについていくつか例を挙げていただけますか\noalign
?
答え1
このプレーンTEXファイル
\def\foo#1{\edef\tmp{\immediate\write20{#1: \the\prevdepth}}\tmp}
\foo{1}
g
\foo{2}
\vbox{
\foo{3}
Q
\foo{4}
}
\foo{5}
a,
\foo{6}
\halign{#\hfil\cr
\noalign{\foo{7}}
z\cr}
\foo{8}
\bye
生産する
1: -1000.0pt
2: 1.94444pt
3: -1000.0pt
4: 1.94444pt
5: 1.94444pt
6: 1.94444pt
7: 1.94444pt
8: 0.0pt
\prevdepth
は、メインの垂直リストの先頭と の先頭に魔法の -1000pt 値を持ちますが、\vbox
には魔法の値がないことを示しています\noalign
。
答え2
2冊の本からの2つの引用は、少し異なる問題を解決します。最初の引用(TeXbookから)は、からの垂直素材が\halign
(より大きな)垂直リスト内の「通常の」垂直素材として動作すると述べています。前後の行スキップを個別に解決する必要がある素材としては動作しません\unvbox
。2番目の引用(トピックによるTeXから)は、からの行が\halign
\noalign
素材から作られたオブジェクトを含むそれぞれが右の行間スキップによって次の行に接続されています。\noalign
この観点から見ると、資料は個別の垂直リストではありません。