我认为\xspace
应该不是在命令中使用时引入空格,\enquote
如以下 MWE 中所示?我怎样才能让两者一起工作?
\documentclass{article}
\usepackage{csquotes}
\usepackage{xspace}
\newcommand{\test}{test\xspace}
\begin{document}
\test. \test, ``\test'' \test \enquote{\test} \test \enquote{\test}.
\end{document}
答案1
您可以将csquotes
参数结束标记添加到xspace
例外列表中:
\documentclass{article}
\usepackage{csquotes}
\usepackage{xspace}
\makeatletter
\xspaceaddexceptions{\csq@qclose@i}
\makeatletter
\newcommand{\test}{test\xspace}
\begin{document}
\test. \test, ``\test'' \test \enquote{\test} \test \enquote{\test}.
\end{document}
但请注意,此类问题是不可避免的,也是可以预见的: