我将列表标题的格式设置如下:
\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
内部环境figure
或table
:
\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
(这很有意义......)