我有一个 latex 文档,其中有一个包含两个子表的表。当我引用整个表时,编号从 1 开始,但当我引用其中一个子表时,编号从 0 开始。以下是我的设置示例:
% In my preamble
\usepackage[tight,footnotesize]{subfigure}
% In my document section
\section{Section}
\subsection{Sub Section}
% My Table
\begin{table}[ht]
\centering
\subtable[Sub Table 1]
{
\label{tbl:sub-table-1}
\centering
\begin{tabular}{ l c }
\textbf{A} & \textbf{B} \\
1 & 2 \\
2 & 3 \\
\end{tabular}
}
\subtable[Sub Table 2]
{
\label{tbl:sub-table-2}
\centering
\begin{tabular}{ l c }
\textbf{A} & \textbf{B} \\
1 & 2 \\
2 & 3 \\
\end{tabular}
}
\caption{Sub Tables}
\label{tbl:table-1}
\end{table}
This it my sub table \ref{tbl:sub-table-1}. % Comes out 0(a) instead of 1(a)
This is my table \ref{tbl:table-1}. % Comes out to 1 as you expect
答案1
subfigure
是过时的软件包,不应再使用。您可以改用该subcaption
软件包:
\documentclass[11pt]{article}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup[subtable]{font=footnotesize}
\begin{document}
\section{Section}
\subsection{Sub Section}
\begin{table}[ht]
\begin{subtable}{.5\textwidth}
\centering
\subcaption{Subtable 1}
\begin{tabular}{ l c }
\textbf{A} & \textbf{B} \\
1 & 2 \\
2 & 3 \\
\end{tabular}
\label{tbl:sub-table-1}
\end{subtable}
\begin{subtable}{.5\textwidth}
\centering
\subcaption{Subtable 2}
\begin{tabular}{ l c }
\textbf{A} & \textbf{B} \\
1 & 2 \\
2 & 3 \\
\end{tabular}
\label{tbl:sub-table-2}
\end{subtable}
\caption{Sub Tables}
\label{tbl:table-1}
\end{table}
This it my subtable~\ref{tbl:sub-table-1}.
This is my table~\ref{tbl:table-1}.
\end{document}
编辑:我添加了\captionsetup
命令(以更改子表标题的字体大小)。