我将一张表分成两张(或更多张),并希望它们具有相同的标签数字对于这两个表格,但要在其后附加“a”或“b”以区分它们。此外,我希望能够在文本中仅通过数字来引用它们,而不是使用 number.a 和 number.b。并且我希望保留 LaTeX 的假定表格编号。
例如,LaTeX 后来编号为 8 的表格太大,无法放在一页上,因此我手动将其拆分,并希望它自动标记为 8a 和 8b,并在文本中称为 8。这存在吗?我肯定我又搜索错了关键词。
背景故事是我在 R 中使用脚本创建表格。我昨天在这里寻找了一个宽表包,有一些很好的解决方案,但不适用于我已经拥有的脚本(尽管我想稍后添加它们)。另外,这听起来是一项很好的技能。谢谢!
答案1
该ccaption
软件包允许“连续字幕”。因此,要实现您想要的功能,您可以执行以下操作(改编自文档ccaption
)。
更新
由于您希望第一个表格也有一个字母后缀,我已将代码更改为允许两个命令:\splittablecaption
和\splittablecaption*
。这也消除了手动重置子表格标题计数器的需要。对系列中的第一个使用带星号的版本,对任何后续版本使用无星号的版本。
\documentclass{article}
\usepackage{ccaption}
\newcounter{splittab}
\renewcommand{\thesplittab}{\alph{splittab}}
\makeatletter
\newcommand{\splittablecaption}{\@ifstar\splittablecaptionstar\splittablecaptionplain}
\makeatother
\newcommand{\splittablecaptionplain}[1]{\stepcounter{splittab}\captiondelim{\thesplittab: }\contcaption{#1}}
\newcommand{\splittablecaptionstar}[1]{\setcounter{splittab}{0}\stepcounter{splittab}\captiondelim{\thesplittab: }\caption{#1}}
% Usage: for a split table, use \splittablecaption*{} for the initial caption
% and \splittablecaption{} for the subsequent captions
% There is no need to reset the counters manually, as this is done inside the
% starred version of the \splittablecaption command.
\begin{document}
\begin{table} \centering \splittablecaption*{A multi-part table} \label{tab:m}
\begin{tabular}{lc} \hline
just a single line & 1 \\ \end{tabular} \end{table}
\begin{table} \centering \splittablecaption{Continued} \begin{tabular}{lc} \hline
just a single line & 2 \\ \end{tabular} \end{table}
\begin{table} \centering \splittablecaption{Concluded} \begin{tabular}{lc} \hline
just a single line & 3 \\ \end{tabular} \end{table}
\begin{table} \centering \splittablecaption*{A multi-part table} \label{tab:m}
\begin{tabular}{lc} \hline
just a single line & 1 \\ \end{tabular} \end{table}
\begin{table} \centering \splittablecaption{Continued} \begin{tabular}{lc} \hline
just a single line & 2 \\ \end{tabular} \end{table}
\begin{table} \centering \splittablecaption{Concluded} \begin{tabular}{lc} \hline
just a single line & 3 \\ \end{tabular} \end{table}
\end{document}
答案2
您可以subcaption
按照以下方式使用该包,该包现在随caption
包一起提供,并且具有类似的选项。
\begin{table}
\subcaptionbox{\label{t1a} Caption for table a}%
{\begin{tabular}<spec>
<things here>
\end{tabular}}
\subcaptionbox{\label{t1b} Caption for table b}%
{\begin{tabular}<spec>
<things here>
\end{tabular}}
\subcaptionbox{\label{t1c} Caption for table c}%
{\begin{tabular}<spec>
<things here>
\end{tabular}}
\caption{\label{t} Caption for all tables
\end{table}
通过这种方式,您可以单独引用每个表,或者只引用带有标签 t 的一堆表。