\documentclass{article}
\usepackage{blindtext}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{siunitx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{subfig}
\usepackage{hyperref}
\usepackage[section]{placeins}
\usepackage[margin=1.5in,footskip=0.3in]{geometry}
\usepackage{wrapfig}
\usepackage[table,xcdraw]{xcolor}
\usepackage{circuitikz}
\begin{document}
[...]
\begin{equation}\label{eq:cape}
\centering
t_{rise_{A}} = t_{rise_{B}} \times V_A / V_B
\end{equation}
[...]
Inoltre sono stati misurati dei tempi di salita $t_{rise}$ in linea con quanto previsto dalla relazione \ref{eq:cape}.
\end{document}
这是我的代码。编译器没有读取引用,并给出未定义的控制序列错误:“\reserved@b ->\T@ref
l.186 ...con quanto previsto dalla relazione \ref{
eq:cape}. Infine è stato ...
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
".
答案1
修剪代码以获得适当的最小工作示例,我们发现以下内容重现了您的错误:
\documentclass{article}
%\usepackage[utf8]{inputenc} % default since 2018, so probably redundant
\usepackage{caption}
\usepackage{subcaption}
\usepackage{subfig}
\usepackage{hyperref}
\begin{document}
\begin{equation}\label{eq:cape}
x<1
\end{equation}
\begin{equation}\label{eq:cape2}
x>0
\end{equation}
Inoltre si osservino le relazioni \ref{eq:cape} e \ref{eq:cape2}.
\end{document}
代码无法正确编译:几个错误中的第一个是
Package subcaption
Error: This package can't be used in cooperation with the subfig package.
事实上,这个包装subfig
已经很旧了,出现subfig
自 2005 年以来一直没有维护(!)。这可能是没有设置的原因hyperref
妥善配合。
编辑:@egreg 指出以下内容:“subfig
与几个不兼容的文档类兼容caption
(尤其是revtex4-2
和IEEEtran
),因此它仍然有用例。”
此外,的维护者还subcaption
添加了上述警告,指出subcaption
和subfig
不兼容。(请注意subcaption
积极维护。
如果我们注意到这个警告并禁用subfig
,则代码将进行编译并且引用将被正确处理。
\documentclass{article}
%\usepackage[utf8]{inputenc} % default since 2018, so probably redundant
\usepackage{caption}
\usepackage{subcaption}
%\usepackage{subfig}
\usepackage{hyperref}
\begin{document}
\begin{equation}\label{eq:cape}
x<1
\end{equation}
\begin{equation}\label{eq:cape2}
x>0
\end{equation}
Inoltre si osservino le relazioni \ref{eq:cape} e \ref{eq:cape2}.
\end{document}
总结:
如果您的文档中需要子图(子浮点),则应避免使用
subfig
,但这subcaption
是更好的选择。最终,这取决于您的需求(本 MWE 中未显示)。subcaption
需要 pkgcaption
,这可能是某些文档类别的问题(记住 egreg 的提示)。请注意,一般来说,
\usepackage{hyperref}
必须在序言中最后加载,因为hyperref
必须适应您的所有其他包裹。