ulem 下划线嵌套:尺寸过大错误(但渲染效果很好)

ulem 下划线嵌套:尺寸过大错误(但渲染效果很好)

我有以下 MWE:

\documentclass{article}
\usepackage{ulem}
\newcommand\deeperuline{\bgroup\markoverwith{\rule[-1.1ex]{2pt}{0.4pt}\ULon}
\begin{document}
This \deeperuline{does} work \uwave{nicely}.
This \deeperuline{gives \uwave{an} error} but renders nicely.
\end{document}

目的是让句子的一部分带有波浪形下划线,而另一部分(包含波浪形下划线部分)的下划线比正常下划线更深(以便它不会与波浪形下划线相交)。

上面的代码为第二句生成了“维度太大”的错误,但两句都渲染得很好。我能做些什么来消除这个错误?

我在 pdflatex 和 xelatex 中都发现了该错误。

答案1

出于测试目的,ulem.sty设置\ULdepth\maxdimen,然后您就不能以安全的方式使用它进行算术运算。

但是,由于您希望下划线的深度固定,因此您可以将参数设置为其他值。

设置。\ULdepth\maxdimen

\documentclass{article}
\usepackage{ulem}

\newcommand\deeperuline{%
  \bgroup\ULdepth=\maxdimen \markoverwith{\rule[-1.1ex]{2pt}{0.4pt}}\ULon
}

\begin{document}

This \deeperuline{does} work \uwave{nicely}.
This \deeperuline{gives \uwave{an} error} but renders nicely.

\end{document}

我使用 1000pt 和 0pt 进行了测试,得到了相同的结果。

在此处输入图片描述

相关内容