根据电子书p. 23,仅当第一个字符是或非时**
,提示才与提示不同。*
&
\
但是,如果我们在和提示中发出以下命令(注意第一个\
),输出会有所不同:**
*
\setbox0=\hbox{a} \showbox0
为什么输出不同?这在哪里记录?还有其他情况下的处理**
与不同吗*
?
答案1
>>> touch ilif.tex # we have a suitable file to input
>>> tex ilif # a file name has been given
This is TeX, Version 3.14159265 (TeX Live 2020) (preloaded format=tex)
(./ilif.tex)
*\setbox0=\hbox{a} \showbox0
! OK (see the transcript file).
<*> \setbox0=\hbox{a} \showbox0
? x
No pages of output.
Transcript written on ilif.log.
>>> tex # no file name
This is TeX, Version 3.14159265 (TeX Live 2020) (preloaded format=tex)
**\setbox0=\hbox{a} \showbox0
> \box0=
\hbox(4.30554+0.0)x5.00002
.\tenrm a
! OK.
<*> \setbox0=\hbox{a} \showbox0
? x
No pages of output.
在第二种情况下,.log
还没有打开文件,因为 TeX 仍在等待文件名以设置\jobname
。如您所见,在第二种情况下没有注释Transcript written on
。由于没有其他输出流打开,TeX 将使用终端打印诊断信息。
如果你按照 Donald Arsenau 的提示执行\setbox0=\hbox{\jobname} \showbox0
, 的存在\jobname
将迫使 TeX 分配默认的\jobname
,即texput
。在这种情况下,.log
文件可以打开,终端上的输出与 的情况相同ilif.tex
。