![soul 用于文本突出显示,microtype 用于字母间距,xspace:不兼容](https://linux22.com/image/305110/soul%20%E7%94%A8%E4%BA%8E%E6%96%87%E6%9C%AC%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%EF%BC%8Cmicrotype%20%E7%94%A8%E4%BA%8E%E5%AD%97%E6%AF%8D%E9%97%B4%E8%B7%9D%EF%BC%8Cxspace%EF%BC%9A%E4%B8%8D%E5%85%BC%E5%AE%B9.png)
我尝试使用它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}
不起作用。