TeX 如何水平和垂直放置文本?

TeX 如何水平和垂直放置文本?

我说得对,TeX 就是以这种方式处理文本的?从第一个字符开始,它就形成了一个宽度hbox为 的字符。当第一个字符填满其宽度时,TeX 会进行连字符连接,将其添加到(用于段落)并开始形成第二个字符,依此类推。所以就像是几个 'es(行)的容器?它就像水平链接列表的垂直链接列表吗?textwidthhboxhboxvboxhboxvboxhbox

下面是我想要澄清的内容的一个例子。在第一行中,它使缩进和连字符成为机器字符。在第二行中,我试图明确地表示这一点。TeX 是否做了同样的事情(从意识形态上来说)?

\documentclass{article}

\begin{document}
Computer science is the study of algorithmic processes, computational machines and computation itself.

\vbox{%
\hbox{\indent Computer science is the study of algorithmic processes, computational ma-}%
\hbox{chines and computation itself.}}
\end{document}

答案1

不,TeX 不会逐行排版。一旦段落开始,就会进入水平模式,并将整个段落设置在水平列表中(类似于\hbox),然后整个段落将通过换行算法,该算法进行最低成本优化,试图将段落的不良性(实际上是缺点)降至最低。然后将得到的水平框和垂直粘连和惩罚序列添加到类似的无限垂直列表中,然后使用类似但更简单的算法将页面从这个主垂直列表中拆分出来。

所以最终结果与您展示的类似,但时间不同。

相关内容