何时使用哪个包进行删除?
我看到了答案:
\usepackage{ulem}
\sout{Hello World}
或者
\usepackage{soul}
\st{Hello world}
或者
\usepackage{cancel}
\cancel{Hello world}
在什么情况下最好使用哪一个?
也许还有其他我不知道的包裹?
难道不应该有一种标准的三振出局方式吗?
答案1
cancel
用于指示数学取消,因此仅在数学模式下有效;它也能进行对角线删除。
soul
和ulem
看起来非常相似。它们之间的一个基本语义差异是,ulem
默认情况下,将 的定义更改为在\emph{...}
其参数下划线,而不是将其置于斜体中。这似乎旨在复制打字机排版,当时下划线通常是表示强调的唯一方式。由于现在使用下划线来强调已经基本被弃用,因此soul
当我确实需要为某些内容加下划线时,我总是使用它。
唯一的那个大原因支持soul
然而,它能够处理换行符和连字符:
\documentclass{article}
\textwidth=1cm % just to force hyphenation to happen
\usepackage[T1]{fontenc}
\usepackage{cancel,soul,ulem}
\begin{document}
\[
\frac{\cancel{5}*17}{\cancel{5}*23}
\]
X \sout{supercalifragilisticexpialidocious}
X \st{supercalifragilisticexpialidocious}
X \emph{supercalifragilisticexpialidocious}
X \ul{supercalifragilisticexpialidocious}
\end{document}
(这X
是必需的,因为 LaTeX 不会将段落中的第一个单词连字符连接起来。)