为什么在块和 esc- 之后被忽略不是?

为什么在块和 esc- 之后被忽略不是?

我的设置:web2cTeX (TeX Live)。
考虑这两个文件,它们应该产生相同的输出。---
file1.tex---

\centerline{ab}\ %

cd
\bye

--- 文件2.tex ---

\centerline{ab} %

cd
\bye

两个文件的“dvitype”输出有何不同:


...
 [ab]
 134: pop 
 level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42) 
-135: y3 786432 v:=655360+786432=1441792, vv:=91 
-139: y0 786432 v:=1441792+786432=2228224, vv:=141 
-140: push 
-level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141) 
-141: right3 1310720 h:=0+1310720=1310720, hh:=83 
-145: setchar99 h:=1310720+291271=1601991, hh:=101 
-146: setchar100 h:=1601991+364090=1966081, hh:=124 
+135: down3 786432 v:=655360+786432=1441792, vv:=91 
+139: push 
+level 1:(h=0,v=1441792,w=0,x=0,y=0,z=0,hh=0,vv=91) 
+140: right3 1310720 h:=0+1310720=1310720, hh:=83 
+144: setchar99 h:=1310720+291271=1601991, hh:=101 
+145: setchar100 h:=1601991+364090=1966081, hh:=124 
 [ cd]
...

两个 dvi 文件的大小相同 - 224 字节。

据我所知,块后的空格不应被忽略,但显然它被忽略了(在这种特定情况下)。我不明白为什么。

答案1

这两个输入肯定不是应该会产生同样的结果。

由于\centerline{ab}扩展到\hbox to \hsize{\hss #1\hss}它并不会使您脱离垂直模式(ab在受限的水平模式下排版之后)。

该命令\⍽(控制空格)是一个水平命令,因此它以一个段落开始,该段落以空白行结束;粘连将被删除\par

因此我们有(忽略细节)

<centered box with ab>
<parskip glue>
<indent box>
<parskip glue>
<indent box>cd

在第二个例子中,后面的空格标记\centerline{ab}出现在垂直模式下,而垂直模式下的空格标记会被忽略。所以我们有

<centered box with ab>
<parskip glue>
<indent box>cd

因为它只是c一个段落的开头。

相关内容