如何防止LaTeX将包含破折号的单词连字符?

如何防止LaTeX将包含破折号的单词连字符?,latex,hyphen,hyphenation,Latex,Hyphen,Hyphenation,我想在全球范围内防止LaTeX使用“Objective-C”连字号。我知道\hyphenation命令,但不知道如何使用它。如果我将'Objective-C'传递给此命令,破折号将被视为提示在此处将单词连字符 我发现的一个解决方案是每次使用Objective-C时都将其包装到mbox中。然而,我正在编写的文档中经常包含这个名称,每次将它包装到mbox中都很难看(定义一个命令并在源代码中反复使用它也是如此) 我很乐意接受任何建议 最好的, JP为什么定义新命令很难看?这是\LaTeX\定义自己的方

我想在全球范围内防止LaTeX使用“Objective-C”连字号。我知道\hyphenation命令,但不知道如何使用它。如果我将'Objective-C'传递给此命令,破折号将被视为提示在此处将单词连字符

我发现的一个解决方案是每次使用Objective-C时都将其包装到mbox中。然而,我正在编写的文档中经常包含这个名称,每次将它包装到mbox中都很难看(定义一个命令并在源代码中反复使用它也是如此)

我很乐意接受任何建议

最好的,
JP

为什么定义新命令很难看?这是\LaTeX\定义自己的方式

\def\ObjectiveC{\mbox{Objective-C}}
根据建议,您可以定义如下命令:

 \newcommand\dash{\nobreakdash-\hspace{0pt}}
像这样使用它

Consider the $n$\dash dimensional manifold ... 

此外,您还可以使用
babel
包并使用
“~
作为受保护的连字符。不过,我不确定在用英语写作时是否建议使用
babel

使用
\nobreakdash
。这就是LyX在我插入非BreakingDash并将其转换为tex时产生的结果。

建议询问感谢您的建议!所有这些都是可行的,但不能全局定义,比如\mbox解决方案:(谢谢!很遗憾,我想真的没有其他方法了。