xspace 在 \enquote 中使用时会插入空格

xspace 在 \enquote 中使用时会插入空格

我认为\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}

MWE 的输出

答案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}

但请注意,此类问题是不可避免的,也是可以预见的:

xspace 的缺点

相关内容