Plain TeX 中的不間斷連字符

Plain TeX 中的不間斷連字符

我在問與這篇文章相同的問題:

如何在科學或技術文件中鍵入不間斷連字號(破折號、「-」字元)

但我不想使用任何套件(只是為了了解如何使用該語言的原語在 Plain TeX 中完成它)。

\mbox{non-linear}
non\mbox{-}linear

將防止連字符

關於什麼:

non-\nobreak linear

我不知道如何檢查 TeX 中可能的斷點在哪裡。

答案1

您建議的使用\nobreak並不能阻止中斷,可以看出


\vbox{\hsize=1pt
a
non-\nobreak linear
}

\bye

在此輸入影像描述

前兩個建議\mbox不是普通的 TeX,但如果您使用\hbox它們將防止中斷。


\vbox{\hsize=1pt
a
\hbox{non-linear}
non\hbox{-}linear
}

\bye

在此輸入影像描述

答案2

除非您指定並且是多餘的,non-\nobreak linear否則您不會禁止連字符後的換行符。\exhyphenpenalty=10000\nobreak

\vbox{\hsize=0pt \parindent=0pt
  \hskip0pt non-\nobreak linear
}
\vbox{\hsize=0pt \parindent=0pt \exhyphenpenalty=10000
  \hskip0pt non-linear
}
\bye

在此輸入影像描述

另一方面,設定\exhyphenpenaltyto10000似乎太過激烈,無論如何你都不會在單字的其餘部分中得到連字符。

\def\nbh{%
  \leavevmode % one never knows
  \hbox{-}% this won't allow a line break
  \nobreak % no line break here
  \hskip0pt % allow hyphenation on the rest of the word
}

\vbox{\hsize=0pt \parindent=0pt
  \hskip0pt
  non\nbh linear
}

\bye

在此輸入影像描述

相關內容