为什么不对带破折号的单词尝试连字符?

为什么不对带破折号的单词尝试连字符?

考虑以下mystory.tex

\tolerance=10000 \hsize=.7in
\leavevmode\nobreak\hskip0pt Drofnats---or ``R. J.,''
\end

这是日志:

(mystory.tex
Overfull \hbox (17.41133pt too wide) in paragraph at lines 2--3
[] \tenrm Drofnats---|
[1] )

这是输出:

在此处输入图片描述

现在mystory.tex通过在“Drofnats”和“---”之间添加空格来进行更改。

这是日志:

(mystory.tex
Underfull \hbox (badness 10000) in paragraph at lines 2--3
[] \tenrm Drof-

Underfull \hbox (badness 10000) in paragraph at lines 2--3
\tenrm nats ---or
[1] )

这是输出:

在此处输入图片描述

据我所知,排版规则规定我们必须使用破折号,如word1---word2。排版规则是否也禁止使用 连字符word1?如果不是,为什么不默认尝试使用连字符?

答案1

摘自 TeXbook 第 286 页,最后一条要点:

⟨letter⟩、⟨otherchar⟩、\char⟨8 位数⟩、⟨chardef token⟩,。 \noboundary最常用的命令是字符命令,它们告诉 TeX 使用当前字体将字符附加到当前水平列表。[...] 在不受限制的水平模式下,' \discretionary{}{}{}' 项目将附加在其字体代码的字符之后\hyphenchar,或附加在以该字符结尾的序列形成的连字符之后。

由于---是一个以当前字体的 结尾的连字符\hyphenchar(通常是连字符),因此\discretionary{}{}{}会自动附加一个项目,并且 TeX 永远不会对包含该项目的单词进行连字符处理\discretionary(参见第 454 页,倒数第二个双重危险弯曲的结尾)。

相关内容