LaTeX \newcommand \par 问题
当我分配一个新命令并在 \par 开头调用它时,变量文本和下一个单词之间的空格丢失。
\newcommand{\testcmd}{这是一个测试}
\par \testcmd foobar.
将呈现为:
This is a testfoobar.
\par foo \testcmd 酒吧。
渲染良好为: foo 这是一个测试栏。
有人以前遇到过这个问题并有解决方案吗?
谢谢
When I assign a new command and call it at the beginning of a \par the space between the variable text and next word is missing.
\newcommand{\testcmd}{This is a test}
\par \testcmd foobar.
Will be rendered as:
This is a testfoobar.
\par foo \testcmd bar.
Renders fine as: foo This is a test bar.
Anyone come across this before and have a solution?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道这里到底发生了什么,但有几种方法可以恢复该空间:
\newcommand{\testcmd}{This is a test } % <- space before close brat
par \testcmd{} foobar % <- note {}
最冗长但最强大的方法:
\usepackage{xspace}
\newcommand{\testcmd}{这是一个测试\xspace}
I do not know the exact thing which is going on here but there are several ways to get that space back:
\newcommand{\testcmd}{This is a test } % <- space before closing brace
par \testcmd{} foobar % <- note {}
The most verbose but the most robust way too:
\usepackage{xspace}
\newcommand{\testcmd}{This is a test\xspace}
实际上,一个更简单的答案是:
注意 foobar 之前额外的“\”(斜杠和空格)。 不需要额外的包。 它与最常见的方法相同,例如:
Actually a much simpler answer would be to:
Notice the extra "\ " before foobar (slash and space). No extra package needed. It is the same as the most common method for things like: