Hífen inseparável em Plain TeX

Hífen inseparável em Plain TeX

Estou fazendo a mesma pergunta deste post:

Como digitar um hífen inseparável (traço, caractere "-") em documentos científicos ou técnicos

mas não quero usar nenhum pacote (apenas para entender como isso pode ser feito no Plain TeX apenas com as primitivas da linguagem).

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

impedirá a hifenização

A respeito:

non-\nobreak linear

Não sei como verificar onde estão os possíveis pontos de interrupção no TeX.

Responder1

o uso sugerido de \nobreaknão impede uma pausa, como pode ser visto por


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

\bye

insira a descrição da imagem aqui

As duas primeiras sugestões \mboxnão são TeX simples, mas se você as usar, \hboxelas evitarão uma quebra.


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

\bye

insira a descrição da imagem aqui

Responder2

Com non-\nobreak linearvocê não inibe uma quebra de linha após o hífen, a menos que você especifique \exhyphenpenalty=10000e \nobreakseja redundante.

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

insira a descrição da imagem aqui

Por outro lado, definir \exhyphenpenaltyto 10000parece muito drástico e você não obtém nenhuma hifenização no resto da palavra.

\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

insira a descrição da imagem aqui

informação relacionada