
根據已接受的答案這個問題TeX 絕不會用連字符連接已經包含連字符的單字。儘管如此,在此處的文檔中,我發現單字「Modula-2」是用連字號連接的,如下圖所示(用這個文件使用 XeLaTeX,版本 3.1415926-2.4-0.9998(MiKTeX 2.9 64 位元))。
\documentclass[10pt]{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum Modula-2
nisi urna, congue sed congue id, iaculis et lacus.
\end{document}
顯然我無法用來\hyphenation
阻止這種情況;但這個詞出現了好幾次,所以我不想使用\mbox
。有更好的解決方案嗎?
答案1
不使用連字符連接連字符的單詞,意思是不添加更多的連字符。您想要防止的是您只需要的現有連字符處的換行符
\exhyphenpenalty=10000
在序言中對破壞明確的連字號給予無限懲罰
答案2
大衛的回答向您展示瞭如何在全局範圍內抑制顯式連字符之後的中斷(即,對於每個帶有顯式連字符的單字)。
通常人們希望只在特定情況下抑制破壞,有兩種方法可以實現這一點:
\mbox{Modula-2}
無需任何軟體包即可運作。
ngerman.sty 或 babel 套件的 ngerman 選項包含牢不可破的連字符的漂亮簡寫:
Modula"~2
其中“~ 定義為
\leavevmode\hbox{-}