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

Posted

技术标签:

【中文标题】如何防止 LaTeX 连字符包含破折号的单词?【英文标题】:How to prevent LaTeX from hyphenating words containing a dash? 【发布时间】:2011-06-03 10:44:58 【问题描述】:

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

我发现的一个解决方案是每次使用 Objective-C 时都将其包装到一个 mbox 中。但是,我正在编写的文档中包含很多此名称,并且每次都将其包装到 mbox 中是很难看的(就像定义一个命令并在源代码中一遍又一遍地使用它一样)。

我很乐意收到任何建议!

最好, JP

【问题讨论】:

建议在tex.stackexchange.com提问 【参考方案1】:

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

\def\ObjectiveC\mboxObjective-C

【讨论】:

谢谢!不幸的是,我想真的没有其他办法了。【参考方案2】:

按照here 的建议,您可以定义如下命令:

 \newcommand\dash\nobreakdash-\hspace0pt

并像这样使用它

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

另外,您可以使用babel 包并将"~ 用作受保护的连字符。不过,我不确定在用英文写作时是否建议使用babel

【讨论】:

感谢您的建议!所有这些都有效,但不能像 \mbox 解决方案一样全局定义:(【参考方案3】:

使用\nobreakdash。这就是我插入不间断破折号并将其转换为 tex 时 LyX 产生的结果。

【讨论】:

以上是关于如何防止 LaTeX 连字符包含破折号的单词?的主要内容,如果未能解决你的问题,请参考以下文章

检查字符串是不是包含破折号并在单词中添加双引号

使用 scikit-learn 的术语文档矩阵时,如何防止带有连字符的单词被标记?

破折号回调防止其他回调

使用光线投射防止破折号穿过墙壁

有没有办法可以防止虚线边框合并?

使用 lodash _.words 时如何不分隔破折号/连字符?