\caption 内的 \ref{nametable} 不起作用

\caption 内的 \ref{nametable} 不起作用

我已经在论坛中搜索过,但在类似的问题中,我也没有找到适合我的情况的解决方案。我正在处理\documentclass[italian,11pt,a4paper]{article}并且我有一个\ref{}内部\caption

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=0.9\textwidth]{plots/delta}\hfil
\caption{bla bla bla in tabel \ref{deltatab}.}
\label{lab}
\end {center}
\end{figure}

然后是表格:

\begin{table}[htbp]\label{deltatab}
\centering
\begin{tabular}{ccccccccc}
\hline
Filter & r & i & z & Y & J & Kw & Kd \\ \hline
 $\Delta mag$ &  0.27 & 0.18 & 0.15 & 0.30 & 0.19 & 0.62 & 0.45\\ \hline
\end{tabular}
\caption{some caption.}
\end{table}

但在图片的标题中,这产生了一个figure ??。这是我的包裹清单:

\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newlfont}
\usepackage[english]{varioref}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{color}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mhchem} 
\usepackage{lmodern} 
\usepackage{subcaption}
\usepackage{bmpsize}
\usepackage{multirow}
\usepackage[labelfont={bf}, textfont={small}]{caption}
\usepackage{fancyhdr}
\newcommand{\fncyblank}{\fancyhf{}}

\usepackage{braket}
\usepackage{mathtools}
\usepackage{newlfont}
\usepackage{listings}
\usepackage{verbatim}
\usepackage[dvipsnames]{xcolor}

\usepackage{quoting}
\quotingsetup{font=small}

\usepackage{booktabs}
\usepackage{lscape}

\usepackage{geometry}
\geometry{hmargin={3cm,3cm},vmargin={3cm,3cm}}
\usepackage{titlesec}
\titlespacing{\chapter}{3em}{1em}{1em}
\fancyhf{}
\cfoot{\thepage}
\pagestyle{fancy}

有什么想法吗?

答案1

您可以通过放置label表格的如下caption例所示。更多信息可以在这里找到:为什么环境的标签必须出现在标题之后?

\documentclass{article}
\usepackage{graphicx}
\usepackage[labelfont={bf}, textfont={small},textformat=period]{caption}
\usepackage[english]{varioref}
\usepackage{hyperref}


\begin{document}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.9\textwidth]{example-image}
\caption{bla bla bla in tabel \ref{deltatab}}
\label{lab}
\end{figure}

\begin{table}[htbp]
\centering
\begin{tabular}{ccccccccc}
\hline
Filter & r & i & z & Y & J & Kw & Kd \\ \hline
 $\Delta mag$ &  0.27 & 0.18 & 0.15 & 0.30 & 0.19 & 0.62 & 0.45\\ \hline
\end{tabular}
\caption{some caption}
\label{deltatab}
\end{table}

\end{document}

在此处输入图片描述

在上面的 MWE 中,我还添加了textformat=period选项caption。这样,您的字幕后面就会自动出现一个点,您不必手动将其添加到每个字幕中。

还请牢记软件包的正确加载顺序,尤其是hyperref。此软件包通常(除了少数例外)应为最后加载的软件包。还请避免多次加载软件包。

相关内容