hyperref/etextools 不兼容?

hyperref/etextools 不兼容?

我的文档同时使用了hyperrefetextools。到今天为止,它们似乎运行良好;然而,一个新命令似乎在某处引入了冲突。

下面的 MWE 是一个复杂得多的文档的简化版本;据我所知,花了相当长的时间才缩小问题范围。删除要加载的 %hyperref或之前的%\expandnext会产生可编译的文档,但删除两者会导致错误。

感觉就像这个答案是相关的,但我对这一层面发生的事情了解不够多,无法根据我的需求调整这个答案。有人能给我指出正确的方向吗?

平均能量损失

\documentclass{exam}

\usepackage{etextools}
\usepackage{xstring}
%\usepackage{hyperref}

\renewcommand{\thepartno}{\roman{partno}}
\renewcommand{\thesubpart}{\alph{subpart}}
\renewcommand{\subpartlabel}{(\thesubpart)}


\newcommand{\useinsert}[1]{ % If a (part) question is to be answered on an insert
    \IfStrEqCase{#1}{%
        {}{%
            \textbf{Answer this question on the insert provided.}
        }%
    }[\textbf{Answer part (#1) of this question on the insert provided.}]%
}

\renewcommand{\thepartno}{\roman{partno}} % Format part numbers as lower-case roman numerals


\begin{document}

\begin{questions}
\question %\expandnext{\useinsert}{\ref{ques:P1Q10i}}
    \begin{parts}
        \part[3] \label{ques:P1Q10i} Do this.
        \droppoints
    \end{parts}
\end{questions}
\end{document}

相关内容