\usepackage{caption} 中断对表格的引用

\usepackage{caption} 中断对表格的引用

我将列表标题的格式设置如下:

\usepackage{caption}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{gray}{\parbox{\textwidth}{#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}

然而,我意识到仅仅写入\usepackage{caption}会破坏对表的引用,从而导致如下警告:

LaTeX Warning: Reference `table:swtp' on page 13 undefined on input line 44.

LaTeX 在生成的文档中写入“Table. ??”。

这个例子给我带来了问题:

\documentclass[10pt,letterpaper]{report}
\usepackage{caption}
\begin{document}

\chapter{Chapter}

See the Table ~\ref{table:example}

\begin{table}[htdp] 
\begin{center}
    \begin{tabular}{ | c | c |}
    \hline
    A & B  \\ \hline
    1 & 2 \\ 
    \hline
    \end{tabular}
    \caption{my cap}
\end{center}
  \label{table:example}
\end{table}

\end{document}

答案1

\begin{table}[htdp] 
\begin{center}
    \begin{tabular}{ | c | c |}
    \hline
    A & B  \\ \hline
    1 & 2 \\ 
    \hline
    \end{tabular}
    \caption{my cap}
\end{center}
  \label{table:example}
\end{table}

center当环境已经关闭,并且忘记了应该附加引用的对象时,就会定义标签。

切勿使用center内部环境figuretable

\begin{table}[htbp] 
\centering
    \begin{tabular}{ | c | c |}
    \hline
    A & B  \\ \hline
    1 & 2 \\ 
    \hline
    \end{tabular}
    \caption{my cap}\label{table:example}
\end{table}

还要注意,这d不在可能的浮点说明符之中,而可能是您的意思是b(底部)。

答案2

遇到了同样的错误,但对我来说,解决方案是将其放在命令\label后面\caption(这很有意义......)

相关内容