영혼의 \hl 안에 \discretionary를 어떻게 사용하나요?

영혼의 \hl 안에 \discretionary를 어떻게 사용하나요?
\documentclass{article}
\usepackage{soul}
\usepackage{color}

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

위의 내용은 다음과 같은 이유로 컴파일되지 않습니다.누락된 { 삽입됨,부적절한 임의 목록,호환되지 않는 목록은 unboxing할 수 없습니다.그리고부적절한 \prevlength오류. 모든 오류를 제거 \hl하거나 제거합니다.\discretionary

\discretionarysoul의 중첩을 허용하도록 코드를 어떻게 수정합니까 \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

관련 정보