簡短的範例程式碼
% pdfTeX
\newbox\thbx
\setbox\thbx\hbox{abc}
\newbox\tvbx
\setbox\tvbx\vbox{\unhbox\thbx}
\showbox\tvbx
\bye
會輸出
\thbx=\box16
\tvbx=\box17
> \box17=
\vbox(6.94444+0.0)x469.75499
.\hbox(6.94444+0.0)x469.75499, glue set 434.47717fil
..\hbox(0.0+0.0)x20.0
..\tenrm a
..\tenrm b
..\kern0.27779
..\tenrm c
..etc.
輸出的最後一行 ( etc.
) 是什麼意思?
答案1
預設情況下\showboxbreadth=5
,即 TeX 顯示清單的前五個元素後,它將寫入etc.
以指示還有更多元素。
還有另一個影響輸出的參數\showbox
,即\showboxdepth
(預設3
)TeX 下降的巢狀層級。如果超過深度,則以 表示[]
。
另請參閱 TeXbook 的摘錄:
\danger When \TeX\ displays a box as part of diagnostic output, the amount
of data is controlled by two parameters called ^|\showboxbreadth| and
^|\showboxdepth|. The first of these, which plain \TeX\ sets equal to~5,
tells the maximum number of items shown per level; the second, which plain
\TeX\ sets to~3, tells the deepest level. For example, a small box
whose full contents are ^^{internal box format} ^^{symbolic box format}
\begintt
\hbox(4.30554+1.94444)x21.0, glue set 0.5
.\hbox(4.30554+1.94444)x5.0
..\tenrm g
.\glue 5.0 plus 2.0
.\tenrm || (ligature ---)
\endtt
will be abbreviated as follows when |\showboxbreadth=1| and |\showboxdepth=1|:
^^{ligature} ^^{em-dash}
\begintt
\hbox(4.30554+1.94444)x21.0, glue set 0.5
.\hbox(4.30554+1.94444)x5.0 []
.etc.
\endtt
And if you set |\showboxdepth=0|, you get only the top level:
\begintt
\hbox(4.30554+1.94444)x21.0, glue set 0.5 []
\endtt
(Notice how `^|[]|' and `^|etc.|'~indicate that the data has been
truncated.)