pdfx 导致 soul 停止工作

pdfx 导致 soul 停止工作

我注意到将pdfx包添加到我的文档后,soul包不再以黄色突出显示文本。

\documentclass[a4paper,12pt]{article}

\usepackage[a-1b]{pdfx}  % comment this out

\usepackage{color}
\usepackage{soulutf8}

\begin{document}

\hl{TODO}

\end{document}

上述示例未报告任何错误,但导致文本未突出显示,如下所示。删除pdfx包将使一切恢复正常行为。

实际结果

这些包裹的顺序似乎不会立即产生效果。

答案1

这是由于 soul 与 xcolor(由 pdfx 加载)长期不兼容造成的。请参阅https://tex.stackexchange.com/a/48502/2388

\documentclass[a4paper,12pt]{article}

\usepackage[a-1b]{pdfx}  % comment this out

%\usepackage{color}
\usepackage{soulutf8}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\SOUL@ulunderline}{\dimen@}{\SOUL@dimen}{}{}
\patchcmd{\SOUL@ulunderline}{\dimen@}{\SOUL@dimen}{}{}
\patchcmd{\SOUL@ulunderline}{\dimen@}{\SOUL@dimen}{}{}
\newdimen\SOUL@dimen
\makeatother

\begin{document}

\hl{TODO}

\end{document}

相关内容