soulutf8 的高亮显示因移动参数中的重音而失败(部分)

soulutf8 的高亮显示因移动参数中的重音而失败(部分)

以下 MCE 编译失败(第二次运行),出现错误:

! \@firstofone 的参数有一个额外的 }。\par l.3 ...{\numberline {3}\texthl {Caf\IeC {\'e}}}{1}

一旦该行\section{\hl{Café}}被注释掉(即使\hl前面有\protect)。

我怎样才能让它工作?

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{soulutf8}
\begin{document}
\tableofcontents
\section{\hl{Caf\'e}}
\section[\hl{Caf\'e}]{\hl{Café}}
% \section{\hl{Café}}
\end{document}

答案1

注册\IeCsoul

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{soulutf8}

\soulregister\IeC{1}

\begin{document}
\tableofcontents

\section{\hl{Caf\'e}}
\section[\hl{Caf\'e}]{\hl{Café}}
\section{\hl{Café}}

\end{document}

我认为soulutf8首先就应该这么做。

相关内容