如何让LaTeX连字符包含短划线?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (428)

在我写的一个LaTeX文档中,由于单词“muti-disciplinary”,这个单词恰好在行末显示,所以我得到了超满的hbox警告。

我可以通过改变它来摆脱这个特定的警告multi-discipli\-nary,但同样的问题会在其他地方发生,因为这个词在本文中被大量使用。

我想使用该\hyphenation{}命令,但显然我的试验\hyphenation{multi-disci-pli-na-ry}不起作用,因为它不能正确理解第一个破折号。

我怎么在已经包含破折号的单词中得到正确的缩进?

提问于
用户回答回答于

从http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nohyph:

TeX不会连字符已被连字符连接。例如,英国姓Smyth-Postlethwaite不会连字符,这可能是麻烦的。这是正确的英文排版风格(对其他语言而言可能不正确),但如果需要,可以用\hyph命令替换名称中的连字符,定义 \def\hyph{-\penalty0\hskip0pt\relax}不是这个FAQ通常会推荐的东西...... 连字符包定义了一系列这样的命令(用于在各种标点符号处引入连字符点)。

或者你可以\newcommand扩展到一个命令multi-discipli\-nary(使用Search + Replace All替换现有的单词)。

用户回答回答于

问题(正如KennyTM所指出的那样)是LaTeX不会在连字符中用短划线连字。幸运的是,有一个标准包(ncctools的一部分)解决了这个问题,称为extdash。这定义了新的连字符和破折号命令,它们不会中断连字符,并且可以允许或防止连字符/破折号处的换行符。我更喜欢使用它的shortcuts选项,所以我可以使用,例如,\-/而不是\Hyphdash

\usepackage[shortcuts]{extdash} ... multi\-/disciplinary

为了防止在连字符处打破,请使用 multi\=/disciplinary

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动