refstyle 与 amsmath 冲突

refstyle 与 amsmath 冲突

该问题是我在unicode-math手动编译文档时发现的,下面的代码可以重现该问题。

\documentclass{article}
\usepackage{amsmath}
\usepackage{refstyle}
\begin{document}
test
\end{document}

控制台输出是

This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./1.tex
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-01-16>
(c:/texlive/2022/texmf-dist/tex/latex/base/article.cls
Document Class: article 2022/07/02 v1.4n Standard LaTeX document class
(c:/texlive/2022/texmf-dist/tex/latex/base/size10.clo)) (./amsmath.sty
For additional information on amsmath, use the `?' option.
(c:/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
(c:/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty))
(c:/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(c:/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty)) (./refstyle.sty
(c:/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty) (./refstyle.cfg
! Argument of \eqref  has an extra }.
<inserted text> 
                \par 
l.526    lsttxt    = \RSlsttxt}
                               
? 

然后我发现旧版本amsmath也可以工作,例如,amsmath.sty(2021/10/15 v2.17l)

不同之处在于\DeclareRobustCommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}\newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}},即\eqref是否稳健。

问:如何在最新版本中同时使用amsmath和?refstyle

答案1

你问,

[H]如何在最新版本中同时使用amsmath和?refstyle

答案:你可以加载refstyle 而不是之后amsmath

以下代码在 MacTeX2022、、LaTeX2e <2022-11-01> patch level 1refstyle 2010/11/02 v0.5下可以很好地编译amsmath 2022/04/08 v2.17n

\documentclass{article}
\usepackage{refstyle}
\usepackage{amsmath}
\begin{document}
test
\begin{equation}\label{a} 1=1 \end{equation}
A cross-reference: \eqref{a}
\end{document}

答案2

FYI 0.6 版refstyle(2024-01-31)将修复该问题。

相关内容