是否存在任何依赖关系导致我的 \ref 无法编译?

是否存在任何依赖关系导致我的 \ref 无法编译?

我了解到,为了使标签及其各自的参考资料能够正确编译和显示(对于图形),必须具有\label{} \caption{},例如下面:

Figure \ref{k2a}

\begin{figure}[h]
 % \caption{Isothermal thick film.}
  \begin{center}
    \centering
    \includegraphics[width= \columnwidth]{/home/userid/Research/Dissertation/2D/Periodic/k2a}
     \caption{When $\lambda = \lambda_{max}$ and M=35.1, Pr=7.20, S=100, G=1/3, rupture takes place at t=1280.0 (within 1\% or\citet{Krishnamoorthy1995a})}
     \label{k2a}
  \end{center}
\end{figure}

但是,是否有任何.sty/ 包依赖项不允许我的标签正确编译?我运行了latex两次,但收到了一堆警告,例如Reference on page abc undefined on input line xxx.,我得到了可怕的?引用应该在哪里。但是通过问号链接到图是有效的。

这是我的序言,我在这里加载所有软件包。这发生在一个单独的文件中。

\usepackage{caption}和这个问题有关系吗?

\usepackage{graphicx}
%\usepackage{float}
\usepackage[section]{placeins}    
\usepackage{caption}
\captionsetup{margin=10pt,font=small,labelsep=period,labelfont=bf}
% --------
\usepackage{lscape}         % allows for landscape tables and figures
\usepackage{paralist}       % enancements to list environment
\usepackage{array}          % enhancements to array and tabular environments
\usepackage[usenames]{color}    
\usepackage{url}            
\usepackage{longtable}      % multipage tables
\usepackage{ifthen}
\usepackage{ifpdf}
\usepackage{setspace}       % easy single or doublespacing
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{rotate}
\usepackage{subfigure}
\usepackage{subfig}
\usepackage{wrapfig}
\usepackage{listings}       % for listing computer code such as matlab
\usepackage[bw]{mcode}      % for matlab code with listings package
\usepackage[square,comma,sort&compress]{natbib} % enhances bibtex citations
% \usepackage{biblatex}
\usepackage{setspace}       % \singlespacing, \onehalfspacing, \doublespacing, ...

%%%%%%%%xyz%%%%%%%%%%%%%%%
\usepackage{epsfig}
\usepackage{epstopdf}
\usepackage{textcomp}
\usepackage{multirow}
%\usepackage{subfig}
\usepackage{paralist}
\usepackage{changepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%11022012-START%%%%%%%%%%%%%%
\usepackage[T1]{fontenc} %Useful for file names with underscores in them
\usepackage{float}
\usepackage{grffile}
\newcommand{\hilight}[1]{\colorbox{yellow}{#1}} %To highlight text
\renewcommand{\thefootnote}{\alph{footnote}} %For footnotes
%%%%%%%%%%11022012-STOP%%%%%%%%%%%%%%

答案1

正如评论中所提到的,提供一个最小工作示例(MWE)而不是复制整个序言非常有用(你没有documentclass在代码中包含它,但这很重要)。

例如,下面的内容可以用 编译通过LaTeX

\documentclass{article}

\usepackage[T1]{fontenc}

\usepackage{caption}
\captionsetup{margin=10pt,font=small,labelsep=period,labelfont=bf}

\begin{document}

Figure \ref{k2a}.

\begin{figure}[htp]
    \centering
%     \includegraphics[width= \columnwidth]{/home/userid/Research/Dissertation/2D/Periodic/k2a}
     \caption{When $\lambda = \lambda_{max}$ and M=35.1, Pr=7.20, S=100, G=1/3, rupture takes place at t=1280.0}
     \label{k2a}
\end{figure}

\end{document}

顺便说一句,您的整个序言可以在我的计算机上使用该caption软件包很好地编译,而未定义的引用错误只是因为我没有您的引用而发生的。

上面的评论中提到并总结了一些其他的事情:

  • 加载graphicx而不是epsfig
  • 加载xcolor而不是color
  • 仅加载subfig而不加载折旧subfigure
  • 您加载setspace两次
  • 不要使用center浮动中的环境。centering就足够了
  • [h]除非真的需要,否则不要使用 进行放置,在这种情况下是首选[h!](我认为)。否则使用类似 的内容[htbp],它指示 LaTeX 尝试按该优先级放置浮动heretop、 。bottompage

l2tabu 文档可能会提供有趣的读物,其中讨论了一些 LaTeX 的过时软件包和选项。

相关内容