{} 和 \/ 在断开连字符方面的区别

{} 和 \/ 在断开连字符方面的区别

《LaTeX 指南》(第 4 版)指出,\/用于拆分连字(第 30 页和第 469 页),我认为这是使用的标准方法{}。正如\/通常插入斜体更正(参见“斜体校正如何起作用?“), 和{}\/产生明显不同的输出,这两个选项中的哪一个被认为是最佳实践? 在选择其中一个时,需要注意哪些细微之处?

在下面的代码中

\documentclass{article}

\begin{document}

shelfful   % (1) ligature

shelf{}ful % (2) no ligature

shelf\/ful % (3) no ligature, wider than in the line above

\end{document}

第 3 行中两个“f”字母之间的间距比第 2 行中更宽,这并不奇怪,但如果指的是细微间隙,那么问题就在于这样做是否合理,以及为此进行斜体校正是否有意义(因为斜体实际上不存在这种情况)。


其他选项:David Carlisle 链接的问题列出了其他(有创意但不太好用的)选项:(根据该来源,与{shelf}ful相同)、 、和(解决方案本质上将这种方法与一些微调相结合)。这个问题旨在区分人们可能遇到的两种建议(即和),以帮助学习者消除困惑。无论如何,似乎两者都不是最佳的,最好的解决方案是。这个问答集可作为整个情况的记录。shelf{}fulshelf{\kern0pt}fulshelf\-fulshelf\discretionary{-}{}{\kern.033333em}fulbabel"|{}\/babel"|

答案1

正如您所指出的,\/这并不是为了打破连字符,而是斜体校正的命令,也是您获得额外空间的原因。对于连字符断开,最好的选择是 babel 简写"|,其定义为

 \declare@shorthand{...}{"|}{%
  \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
              \allowhyphens}{}}

并且还允许连字符,但\/不允许:

在此处输入图片描述

(上面两组三个“shelfful”实例中的每一组都是用fff{}ff\/f(按此顺序)生成的 - 也就是说,不是用"|。)

答案2

也可以看看

使用正确的连字符和全面的单词表来抑制连字符?

它提出了一个更全面的问题并包含各种相关信息。

使用{}有缺点(正如 TeXBook 的 TeX3 版本所指出的),它通常不起作用。如果单词带连字符,则 TeX 会重新插入连字符(如果该连字符f{}f位于其中一个组成部分中)。这不会影响shelfful两个 f 之间的唯一连字符点。

相关内容