soul 用于文本突出显示,microtype 用于字母间距,xspace:不兼容

soul 用于文本突出显示,microtype 用于字母间距,xspace:不兼容

我尝试使用它soul来突出显示文本和microtype字母间距(以及其他内容)。但是当我包含时,我无法让两者很好地协同工作xspace(我主要将其用于缩写)。

\documentclass{scrartcl}

\usepackage{xcolor}
\usepackage{xspace}
\usepackage{textcase}
\usepackage{soulutf8}
\usepackage{microtype}

\newcommand\myabbrev[1]{\MakeTextLowercase{\textsc{\textls{#1}}}\xspace}

\def\XSPACE{\myabbrev{xspace}}
\def\HIGHLIGHT{\myabbrev{highlight}}
\soulregister{\XSPACE}{7}% breaks \xspace
\soulregister{\HIGHLIGHT}{0}% breaks \texthl

% \def\TEST/{\myabbrev{TEST}}
% \soulregister{\TEST}{7}% does not work

\begin{document}

\texthl{Now \XSPACE does not work}. \\ \bigskip

\texthl{Now \HIGHLIGHT does not work}.

\end{document}

如果我使用\soulregister ... {7},则xspace没有效果。如果我使用,\soulregister ... {0}xspace有效,但突出显示不起作用。

在此处输入图片描述

可以解决这个问题吗?如果不行,我也很乐意使用“分隔宏“方法(即\def\TEST/{\myabbrev{text}),这样我就不会忘记空格。但这似乎不适用于soulregister,即\soulregister{\TEST/}{7}不起作用。

相关内容