我在文本中插入了来自包的“叉号”( \ding{55}
) pifont
,但无法在其后插入空格,Latex 会忽略源代码中的空格。有人有什么建议吗?
编辑:
缺少一些信息。我正在使用\newcommand
。这是一个*不*有效的例子;)
\documentclass{article}
\usepackage{pifont}
\newcommand{\cross}{\ding{55}}
\begin{document}
\cross a
\cross. a
\cross . a
\end{document}
答案1
编辑
关于您的编辑使用xspace
\documentclass{article}
\usepackage{pifont,xspace}
\newcommand{\cross}{\ding{55}\xspace}
\begin{document}
\cross a
\cross. a
\cross . a
\end{document}
为啥没有空间?
效果很好:
\documentclass{article}
\usepackage{pifont}
\begin{document}
\ding{55} a
\ding{55}. a
\ding{55} . a
\end{document}
答案2
您遇到的与空格有关的“问题”与 pifont 或任何其他包无关。通常,对于任何命令,您都必须告诉 TeX/LaTeX 命令在何处结束。如果您有一个不能成为命令一部分的字符(如括号、数字等,除非您更改其默认值\catcode
),则此类字符的出现会自动告诉 TeX/LaTeX 命令在此字符之前结束。这发生在示例中
\cross.A
但如果你写
\cross A
那么 TeX/LaTeX 不知道你输入“ \cross
”后命令已经结束。它会继续前进,看到一个空格,然后它就知道命令已经结束了。之后没有空格,所以它不会把十字和字母 A 分开。如果你写
{\cross} A
你将获得一个空间。或者如果你写
\cross{} A
也可以。这么简单的事情就没必要用包了。