如何删除感叹号后的空格

如何删除感叹号后的空格

我正在创建一个关于一个项目的文档,该项目的名称是“Go for it!”,带有感叹号。我对 Latex 还不太熟悉,但我认为应该有一个命令来打印项目名称,带有感叹号和所有内容。所以我这样做了:

\newcommand{\goforit}{Go for it!}

问题在于感叹号,因为 Latex 会在感叹号后面打印一个空格,如果我想说“去吧!因为它太棒了[...]”,它会在逗号前打印一个空格,这是不可取的。

据我所知,我可以将“\”附加到它,但这确实仍会在逗号前打印一个空格。

答案1

您可以使用\xspace同名包的宏。考虑以下 MWE(最小工作示例):

\documentclass{article}
\usepackage{xspace}
\newcommand{\gfi}{Go for it!\xspace}
\begin{document}
\gfi Yes, \gfi, right now.
\end{document}

在此处输入图片描述

当然,没有什么是完美的,这\xspace也适用于。要了解它的一些潜在缺点(我通常认为这些缺点太可怕了),你可能需要阅读帖子xspace 的缺点

答案2

我不知道xspace这里是如何得到正确答案的:)

对于遇到同样问题的人的答案是,如果感叹号或问号不是句子的结尾,则在它们后面添加反斜杠。

IE Go for it!\

相关内容