我无法引用我的方程式,我已标记了所有方程式,并使用 \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}
。我认为这会起作用。