Как использовать \discretionary внутри \hl души?

Как использовать \discretionary внутри \hl души?
\documentclass{article}
\usepackage{soul}
\usepackage{color}

\begin{document}
    Some \hl{te\discretionary{-}{-}{-}xt}.
\end{document}

Вышеуказанное не компилируется из-заОтсутствует { вставлено,Неправильный дискреционный список,Несовместимый список не может быть распакованиНеправильная \prevdepthошибки. Удаление \hlили \discretionaryудаляет все ошибки.

Как исправить код, чтобы разрешить вложение \discretionaryдуш \hl?


Обновлять:

Я хотел бы локально переопределить, \discretionaryчтобы возвращать только третий аргумент, так как исходная команда не будет работать в макросах soul. Мне удалось дойти до этой точки:

\documentclass{article}

\usepackage{soul}
\usepackage[usenames,dvipsnames]{xcolor}%\usepackage{color}

%https://tex.stackexchange.com/a/139500:
\soulregister\cite7
\soulregister\ref7
\soulregister\pageref7

\def\highlightcolor{yellow}
\DeclareRobustCommand{\hlc}[2][\highlightcolor]{{\sethlcolor{#1}\hl{{\renewcommand*\discretionary[3]{\mbox{####3}}#2}}}}

\begin{document}
    \hlc{Some,te\discretionary{-}{-}{-}xt}.
\end{document}

введите описание изображения здесь

Однако это все еще выдает ошибку, если выделенный текст содержит пробелы. Я думаю, что это вызвано двойными скобками в \hl{{…}}, но я не смог переопределить \discretionaryв пределах \hlобласти действия другими способами. Есть ли какие-то альтернативы, позволяющие подсветку текста без удаления \discretionaryкоманд — у меня есть довольно длинные фрагменты текста, содержащие такие команды, которые мне нужно подсветить, но в финальной версии подсветка должна быть удалена. Поэтому я не хочу удалять \discretionaryкоманды, а просто локально переопределить их так, чтобы они не вызывали ошибок при использовании подсветки. Мне было бы достаточно вернуть только его третий аргумент.

Связанный контент