我的方程式引用不起作用

我的方程式引用不起作用

我无法引用我的方程式,我已标记了所有方程式,并使用 \ref{} 引用它们,但只出现了两个问号。我尝试了所有方法,但无论如何也不明白为什么它不起作用。我可以引用图形,但不能引用方程式。代码摘录如下:

\documentclass{scrartcl}
\usepackage{etex}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{cleveref}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{fancyref}
\usepackage{amssymb}
\usepackage[utf8x]{inputenc}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{blindtext}
\usepackage{hyperref}
\usepackage{floatrow}
\usepackage{imakeidx}
\addtokomafont{sectioning}{\rmfamily}
\usepackage{indentfirst}
\makeindex

\begin{document}

...
\begin{equation}\label{eq:funcao_dif}
v_1 = K v_i + \frac{v_2}{Q} - v_3 = K v_i - \frac{1}{sT}\frac{1}{Q} v_1  + 
\frac{1}{sT} v_2 = K v_i - \frac{1}{sT}\frac{1}{Q} v_1  - \frac{1}{s^2T^2} 
v_1 
\end{equation}
...

{\par A primeira parte é logo um circuito subtractor que simula a equação 
\ref{eq:funcao_dif}}

\end{document}

答案1

您在前言中加载了大量不需要的包,并遇到了重新定义冲突。特别是cleverref手册解释说它必须最后加载(特别是在之后hyperref)。

此版本有效

\documentclass{scrartcl}

\usepackage{amsmath}

%\usepackage{cleveref}
%\usepackage{fancyref}
\usepackage[utf8]{inputenc}

\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}

...
\begin{equation}\label{eq:funcao_dif}
v_1 = K v_i + \frac{v_2}{Q} - v_3 = K v_i - \frac{1}{sT}\frac{1}{Q} v_1  + 
\frac{1}{sT} v_2 = K v_i - \frac{1}{sT}\frac{1}{Q} v_1  - \frac{1}{s^2T^2} 
v_1 
\end{equation}
...

{\par A primeira parte é logo um circuito subtractor que simula a equação 
\ref{eq:funcao_dif}}

\end{document}

答案2

我遇到了类似的问题。我在序言中提到了这一点:

\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[nosumlimits,nointlimits,nonamelimits]{amsmath}
\usepackage[onehalfspacing]{setspace}
\usepackage{footmisc}
\usepackage[round,authoryear,longnamesfirst]{natbib}
\usepackage{xcolor}
\definecolor{darkgreen}{rgb}{0,.6,0}
\definecolor{darkblue}{rgb}{0,0,0.5}
\definecolor{purple}{rgb}{0.5,0,0.5}
\usepackage[colorlinks,linkcolor=darkblue,citecolor=darkgreen]{hyperref}
\usepackage{appendix}
\usepackage{subfig}
\usepackage{framed}
\usepackage{caption}
\usepackage{tikz}
\usepackage[inline]{enumitem}
\usepackage[thmmarks]{ntheorem}

事实证明我必须ntheorem在 之前移动amsmath。这两个包之间可能有冲突,ntheorem必须先移动。

答案3

在此处输入图片描述

您应该使用包\usepackage{hyperref}来尝试\eqref{eq:funcao_dif}\ref{eq:funcao_dif}。我认为这会起作用。

图像中显示以下内容的输出。

\usepackage{cleveref}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{fancyref}
\usepackage{amssymb}
\usepackage[utf8x]{inputenc}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{blindtext}
\usepackage{hyperref}
\usepackage{floatrow}
\usepackage{imakeidx}
\addtokomafont{sectioning}{\rmfamily}
\usepackage{indentfirst}
\makeindex
\begin{document}
\begin{equation}\label{eq:funcao_dif}
v_1 = K v_i + \frac{v_2}{Q} - v_3 = K v_i - \frac{1}{sT}\frac{1}{Q} v_1  + 
\frac{1}{sT} v_2 = K v_i - \frac{1}{sT}\frac{1}{Q} v_1  - \frac{1}{s^2T^2} 
v_1 
\end{equation}
\end{document}

您应该尝试使用\eqref{eq:funcao_dif}\ref{eq:funcao_dif}。我认为这会起作用。

相关内容