使用 \MakeAutoQuote 制作的引文可以在 \ulem 中保持健壮吗?

使用 \MakeAutoQuote 制作的引文可以在 \ulem 中保持健壮吗?

! Extra }, or forgotten \endgroup 以下示例由于命令»«中的而出现错误\uwave。是否可以更改引号的定义以避免出现错误不会失去 csquotes 功能(我知道只是评论作品)并且没有在论点中\MakeAutoQuote添加某些内容,例如?\mbox\ulem

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\MakeAutoQuote{»}{«}
\usepackage{ulem} 
\begin{document}
»quotes«

\uwave{»quotes«} %error
\end{document}

切换到 soulutf8 是一种选择,但它会出现同样的错误。

答案1

我认为使用 ulem 无法解决问题。但使用 lualatex 和新的 lua-ul 包,以下方法可以正常工作:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{lua-ul} %needs lualatex
\font\sixly=lasy6 %from ulem ...
 \newunderlinetype\beginUnderWavy[\number\dimexpr1ex]{\cleaders\hbox{%
 \raisebox{-0.8ex}{\sixly \char58}%
 }}
 \newcommand\underWavy[1]{{\beginUnderWavy#1}}
\usepackage{csquotes}
\MakeAutoQuote{»}{«}
\usepackage{ulem}
\begin{document}
%\uwave{»quotes«}% errors 

\uwave{quotes}
\underWavy{»quotes«} 
\end{document}

在此处输入图片描述

相关内容