Guión que no se separa en Plain TeX

Guión que no se separa en Plain TeX

Estoy haciendo la misma pregunta que esta publicación:

Cómo escribir un guión continuo (guión, carácter "-") en documentos científicos o técnicos

pero no quiero usar ningún paquete (solo para entender cómo se puede hacer en Plain TeX con solo las primitivas del lenguaje).

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

evitará la separación de palabras

Qué pasa:

non-\nobreak linear

No sé cómo comprobar dónde están los posibles puntos de interrupción en TeX.

Respuesta1

el uso sugerido de \nobreakno evita un descanso como puede verse por


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

\bye

ingrese la descripción de la imagen aquí

Las dos primeras sugerencias \mboxno son TeX simple, pero si las usa \hboxevitarían una interrupción.


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

\bye

ingrese la descripción de la imagen aquí

Respuesta2

Con non-\nobreak linearusted no inhibe un salto de línea después del guión, a menos que lo especifique \exhyphenpenalty=10000y \nobreaksea redundante.

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

ingrese la descripción de la imagen aquí

Por otro lado, configurarlo \exhyphenpenaltyparece 10000demasiado drástico y de todos modos no se separan guiones en el resto de la palabra.

\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

ingrese la descripción de la imagen aquí

información relacionada