admin管理员组

文章数量:1123270

LaTeX 改变表格序号 1, 2(a), 2(b), 3

问题描述

局部修改表格编号

用LaTeX进行排版时,模板一般会按照表格在文章中出现的顺序对其进行递增编号,如下图左侧所示,即紧随 Table 1 的表格为Table 2 和 Table 3 。然而有时会遇到改变局部编号的需求,如下图右侧所示,即紧随 Table 1 的表格为Table 2(a) 和 Table 2(b) 两个表格。(注:若是要求所有编号按章节编排,则不属于本文所描述问题)本文笔者将对此种修改局部表格序号的操作进行具体的介绍,供有需求者参考。


解决方案

在需要修改的表的代码部分添加代码 \renewcommand{\thetable}{自定义的内容}

Table2,Table3 原始代码:

\begin{table}[htb]\centering\caption{the 2-1 table}\begin{tabular}{|c|c|c|}\hline& \textbf{x1} & \textbf{x2} \\ \hline\textbf{y1} & 2-1           & 2-1           \\ \hline\textbf{y2} & 2-1           & 2-1           \\ \hline\end{tabular}\end{table}\begin{table}[htb]\centering\caption{the 2-2 table}\begin{tabular}{|c|c|c|}\hline& \textbf{x1} & \textbf{x2} \\ \hline\textbf{y1} & 2-2           & 2-2           \\ \hline\textbf{y2} & 2-2           & 2-2           \\ \hline\end{tabular}\end{table}

Table2,Table3修改后的代码:

\begin{table}[htb]\renewcommand{\thetable}{2(a)} %%此处自定义部分填写了"2(a)",也可以为"2-1"等\centering\caption{the 2-1 table}\begin{tabular}{|c|c|c|}\hline& \textbf{x1} & \textbf{x2} \\ \hline\textbf{y1} & 2-1           & 2-1           \\ \hline\textbf{y2} & 2-1           & 2-1           \\ \hline\end{tabular}\end{table}\begin{table}[htb]\renewcommand{\thetable}{2(b)} %%此处自定义部分填写了"2(b)"\centering\caption{the 2-2 table}\begin{tabular}{|c|c|c|}\hline& \textbf{x1} & \textbf{x2} \\ \hline\textbf{y1} & 2-2           & 2-2           \\ \hline\textbf{y2} & 2-2           & 2-2           \\ \hline\end{tabular}\end{table}

所有修改做完后,按理来说已大功告成,但我们未修改的表序号仍会和修改前的保持不变。在此例中,Table 2(b) 的下一张表的序号仍然为 Table 4,与我们期望的 Table 3 不符。这是因为我们只按自己的意愿修改了局部的表名,但 LaTeX 仍会按照原先的计数方式命名后续的表格。
因此我们还需要在紧随其后的表(此例中为 Table 4)中重新设置计数器。具体地,在 Table 4 中添加\setcounter{table}{2}。此处的 “2” 是我们希望的序号 “3” 减去 “1” 得到的(因为序号默认从0开始,而不是1)。该操作完成后,后续的所有表格会自动以此设定序号为基准进行递增,不需我们依次处理。

Table4 原始代码:

\begin{table}[htb]\centering\caption{the third table}\begin{tabular}{|c|c|c|}\hline& \textbf{x1} & \textbf{x2} \\ \hline\textbf{y1} & 3           & 3           \\ \hline\textbf{y2} & 3           & 3           \\ \hline\end{tabular}\end{table}

Table4 修改后的代码:

\begin{table}[htb]%% 若期望该表序号为5,则填4;期望序号为1,则填0%% 此处我们期望最终pdf呈现 Table 3,因此填 2\setcounter{table}{2} \centering\caption{the third table}\begin{tabular}{|c|c|c|}\hline& \textbf{x1} & \textbf{x2} \\ \hline\textbf{y1} & 3           & 3           \\ \hline\textbf{y2} & 3           & 3           \\ \hline\end{tabular}\end{table}

总结:

  1. 在待修改表中添加代码 \renewcommand{\thetable}{自定义的内容}
  2. 修改表后的第一张表中重置计数器\setcounter{table}{期望表序号减一}

参考链接

本文标签: LaTeX 改变表格序号 12(a)2(b)3