今天上课老师讲了一下连接符号 hyphen 和 dash 的问题。连接符号是两种经常被搞混和被误用的符号。英文中有几种连接符号:

连字号 Hyphen (-)

这个就是电脑键盘上那个短的 “-”。主要是用于单词之间的链接。

  • 合成词,如 three-year-old boy。
  • 前缀和后缀,如 co-worker。
  • 强调读音分段。
  • 人名的连接,如 Shaun Wright-Phillips。
  • 排版两端对齐 (justification) 自动换行 (line-wrapping) 时的断字 (hyphenation),就是某个很长的单词在一行的末尾,但是挤不下,就用 hyphen 把词给分成两段。一般断字的词比较长,并且断开后容易猜测到意思。比如断成 basket-ball 而要断成 bask-etball 或者其他的样子。

ASCII 码中 hyphen 和减号是同一个字符。所以键盘上的那个 “-” 既是减号又是连字号。

连接符号 Dash (-)

很多把 hyphen 误称做 dash,比如命令行用的参数符号实际上是 hyphen,但是总是能听到别人说 dash,甚至还有人说 minus。其实 dash 的意义和 hyphen 完全不同的:

  • 表示数字范围,如 2000-2010 年。
  • 表示关系,如 Stefan-Boltzmann constant。Stefan 和 Boltzmann 是两个人,如果用 hyphen 就是一个人名的表示法。

N-dash (–) 和 M-dash (—)

其实 dash 分两种。上面那种一种叫 n-dash (–),LaTeX 中是 “–”。还有一种更长一点叫 m-dash (—),LaTeX 中是 “—”。表示解释前面句子的意思,比如:Today is a bad day — I lost my money.

Swung Dash (~)

这个和 n-dash 的意义类似,表示范围。另外键盘上左上角的 ~ 实际叫做 tilde,波浪号,是一些语言的注音符号,放在字符的上面。