无法为突出显示的文本添加下划线(灵魂)

无法为突出显示的文本添加下划线(灵魂)
\usepackage{soulutf8}
\begin{document}
\hl{ AAAA {\ul{AAAA}} AAAA} 
\end{document} 

失败:

! 软件包 soul 错误:重建

\underline有效,但我似乎无法像\setulcolor{gray}\setul{1pt}{}那样更改它的颜色和间距\ul,并且它的默认空间对于我正在做的事情来说太丑了。

答案1

使用 lualatex 和新的 lua-ul 包可以正常工作:

\documentclass{article}
\usepackage{luacolor}
\usepackage[soul]{lua-ul}
\begin{document}
\hl{AAAA \ul{AAAA} AAAA}
\end{document}

在此处输入图片描述

答案2

soulutf8包加载soul包并添加utf8支持。以下代码基于文档soul§ 22 嵌套灵魂命令

\documentclass{article}
\usepackage{xcolor}
\usepackage{soulutf8}
\begin{document}
\newbox\mybox
\sbox\mybox{ \ul{AAAA} }
\hl{ AAAA {\usebox\mybox} AAAA} 
\end{document}

结果:

在此处输入图片描述

基本思路是将内部文本放入一个框中,计算下划线,然后在外部文本中调用此框。如果您尝试直接执行此操作,则两个同时进行的大小计算会出现问题。

具有同样问题但解决方案不同(且更易于使用!)的相关问题:

混合下划线和删除线

后续:使用 soul 下划线 + 删除线

相关内容