抑制已包含连字符的单词的连字符

抑制已包含连字符的单词的连字符

根据接受的答案这个问题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

David 的回答向您展示了如何全局抑制显式连字符后的断字(即,对于每个带有显式连字符的单词)。

人们通常希望仅在特定情况下抑制中断,有两种方法可以实现此目的:

\mbox{Modula-2}

无需任何包即可工作。

ngerman.sty 或 babel 包的 ngerman 选项包含不可断开连字符的巧妙简写:

Modula"~2

其中“~定义为

\leavevmode\hbox{-}

相关内容