\listoffixmes 使用 revtex4 时出现错误

\listoffixmes 使用 revtex4 时出现错误

我得到了错误

! Illegal unit of measure (mu inserted).

当我尝试将其包含\listoffixmes在文档中时。我认为这与重新定义制作目录的方式revtex4有关,但我对 LaTeX 了解不够,不知道如何修复它。revtex4

此代码应能重现该问题:

\documentclass{revtex4}
\usepackage[draft]{fixme}

\begin{document}

\listoffixmes

Some text.\fxnote{A short note}

\end{document}

有没有简单的方法可以解决这个问题?

答案1

fixme包假设\@dotsep仅扩展为十进制数,而revtex4期望它包含一个维度。一个快速修复方法是按要求在组中提供重新定义,这样重新定义就不会传播;我使用钩子fixme在输入文件之前和之后执行.lox

\documentclass{revtex4}
\usepackage[draft]{fixme}

\makeatletter
\def\@lox@prtc{\section*{\@fxlistfixmename}\begingroup\def\@dotsep{4.5}}
\def\@lox@psttc{\endgroup}
\makeatother

\begin{document}

\listoffixmes

Some text.\fxnote{A short note}

\end{document}

此修复也适用于revtex4-1

相关内容