![将表格标题从“表格”更改为“(章节号.节号.表格号)”](https://linux22.com/image/334898/%E5%B0%86%E8%A1%A8%E6%A0%BC%E6%A0%87%E9%A2%98%E4%BB%8E%E2%80%9C%E8%A1%A8%E6%A0%BC%E2%80%9D%E6%9B%B4%E6%94%B9%E4%B8%BA%E2%80%9C%EF%BC%88%E7%AB%A0%E8%8A%82%E5%8F%B7.%E8%8A%82%E5%8F%B7.%E8%A1%A8%E6%A0%BC%E5%8F%B7%EF%BC%89%E2%80%9D.png)
我的表格不需要标题为“表格 1.1.8:我的表格”,我需要的只是标题(1.1.8),不需要标题(就像数学书中的表格编号一样)。我该如何实现?
答案1
使用chngcntr
包更改编号以根据章节和节进行更改。使用caption
更改标题的格式。
\documentclass{book} % we need \chapter
\usepackage{chngcntr}
\counterwithin{table}{section} % number like chapter.section.table
\usepackage{caption}
\captionsetup[table]{
justification=raggedleft, % align to the right
singlelinecheck=false, % always align
labelformat=parens, % add parentheses around number
labelsep=none, % remove colon
textformat=empty, % suppress caption text
name={} % remove ``Table''
}
\begin{document}
\begin{table}
\centering
\begin{tabular}{cc}
a & 1 \\
b & 2 \\
\end{tabular}
\caption{My table}
\label{tab:mytable}
\end{table}
As seen in table~\ref{tab:mytable}
\end{document}
答案2
与 Henri 的解决方案类似,但使用\@addtoreset
而不是\counterwithin
。我展示了一种不同的方法,即不使用float
而改为应用\captionof
。
\documentclass{book} % we need \chapter
\makeatletter
\@addtoreset{table}{section}
\makeatother
\usepackage{caption}
\captionsetup[table]{%
textformat=empty, % suppress caption text
labelformat=parens, % add parentheses around number
labelsep=none, % remove colon
name={} % remove ``Table''
}
\usepackage{cleveref}
\begin{document}
\chapter{Foo}
\section{Foobar}
\setcounter{table}{17}
In \cref{nicesttable} we will see the most important table ever
\begingroup
\centering
\begin{tabular}{*{3}c}
a & b & c\tabularnewline
d & e & f\tabularnewline
\end{tabular}
\captionof{table}{A nice table}
\label{nicesttable}
\endgroup
\end{document}