我使用 subcaption 包并排显示多个表格。我的文档遵循将表格标题放在表格上方的惯例,我希望至少为元标题保留此惯例。
如果我将标题放在子表条目上方,则下表将跳过编号中的一个增量,如下所示:
以下标题:表 1 表 2
上面的标题:表 1 表 3
这是产生错误编号的情况的一个例子:
\documentclass[11pt,a4paper,toc=listof,toc=bib,abstract=true,parskip=half]{scrreprt}
\usepackage{subcaption}
\begin{document}
\chapter{firstchapter}
\begin{table}[ht]
\caption{A table with caption on top}\label{tab:1}
\begin{subtable}{.5\linewidth}\centering
\caption{A subtable}\label{tab:1a}
{\begin{tabular}{ccc}
\ $a$ & $b$ & $c$ \\
\hline 0 & 0 & 0 \\
\ 1 & 1 & 1 \\
\end{tabular}}
\end{subtable}%
\begin{subtable}{.5\linewidth}\centering
\caption{Another subtable}\label{tab:1b}
{\begin{tabular}{c c c}
\ $a$ & $b$ & $c$ \\
\hline 0 & 0 & 0 \\
\ 1 & 1 & 1 \\
\end{tabular}}
\end{subtable}
\end{table}
\begin{table}
{\begin{tabular}{c c c}
\ $a$ & $b$ & $c$ \\
\hline 0 & 0 & 0 \\
\ 1 & 1 & 1 \\
\end{tabular}}
\caption{Any other table}\label{tab:2}
\end{table}
\end{document}
是我使用错了什么,还是这是 subcaption 包中的一个错误?任何意见都值得感激,我宁愿不在表格之后手动“修复”计数器或更改包。
答案1
如果您希望在顶部和底部字幕之间交替,则必须设置\captionabove
而不是上部\caption
。
如果您想将它们全部放在顶部,只需将选项设置captions=tableheading
为您的文档类并像平常一样添加标题。
% arara: pdflatex
\documentclass[%
,parskip=half
%,captions=tableheading
]{scrreprt}
\usepackage{subcaption}
\usepackage{booktabs}
\begin{document}
\chapter{firstchapter}
\begin{table}[ht]
\captionabove{A table with caption on top}\label{tab:1}
\begin{subtable}{.5\linewidth}\centering
\subcaption{A subtable}\label{tab:1a}
\begin{tabular}{ccc}
$a$ & $b$ & $c$ \\\midrule
0 & 0 & 0 \\
1 & 1 & 1 \\
\end{tabular}
\end{subtable}%
\begin{subtable}{.5\linewidth}\centering
\subcaption{Another subtable}\label{tab:1b}
\begin{tabular}{c c c}
$a$ & $b$ & $c$ \\\midrule
0 & 0 & 0 \\
1 & 1 & 1 \\
\end{tabular}
\end{subtable}%
\end{table}
\begin{table}
\centering
\begin{tabular}{ccc}
$a$ & $b$ & $c$ \\\midrule
0 & 0 & 0 \\
1 & 1 & 1 \\
\end{tabular}
\caption{Any other table}\label{tab:2}
\end{table}
\end{document}