如何才能将表格列表作为文章文档中的一个章节,以便它在目录中以编号形式列出?
对于图表列表我使用了以下列表:
\makeatletter
\renewcommand\listoffigures{%
\section{\listfigurename}% Used to be \section*{\listfigurename}
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\@starttoc{lof}%
}
\makeatother
但对于表格列表,它不起作用。
答案1
有一些类支持图表列表、表格列表等的编号。例如,scrartcl
您可以使用:
\documentclass[emulatestandardclasses,listof=numbered]{scrartcl}
\usepackage{mwe}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\section{Test}
\begin{figure}
\centering
\includegraphics{example-image}
\caption{Testfigure}
\label{fig:test}
\end{figure}
\begin{table}
\centering
\begin{tabular}{lcr}
left & center & right
\end{tabular}
\caption{Test Table}
\end{table}
\end{document}
对于标准article
类,您可以使用 KOMA-Script 包实现相同的功能tocbasic
,它提供了更多功能:
\documentclass{article}
\usepackage{tocbasic}
\setuptoc{lof}{numbered}
\setuptoc{lot}{numbered}
\renewcommand*{\listoffigures}{\listoftoc[\listfigurename]{lof}}
\renewcommand*{\listoftables}{\listoftoc[\listtablename]{lot}}
\usepackage{mwe}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\section{Test}
\begin{figure}
\centering
\includegraphics{example-image}
\caption{Testfigure}
\label{fig:test}
\end{figure}
\begin{table}
\centering
\begin{tabular}{lcr}
left & center & right
\end{tabular}
\caption{Test Table}
\end{table}
\end{document}
但是,如果您希望将您的解决方案适用于图表列表,也适用于表格列表,则必须复制重新定义\listoffigures
并将所有“ figure
”替换为“ table
”,并将“ lof
”(用于图表列表的辅助文件的文件扩展名)替换为“ lot
”(用于表格列表的辅助文件的文件扩展名):
\documentclass{article}
\makeatletter
\renewcommand\listoffigures{%
\section{\listfigurename}% Used to be \section*{\listfigurename}
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\@starttoc{lof}%
}
\renewcommand\listoftables{%
\section{\listtablename}% Used to be \section*{\listfigurename}
\@mkboth{\MakeUppercase\listtableame}%
{\MakeUppercase\listtablename}%
\@starttoc{lot}%
}
\makeatother
\usepackage{mwe}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\section{Test}
\begin{figure}
\centering
\includegraphics{example-image}
\caption{Testfigure}
\label{fig:test}
\end{figure}
\begin{table}
\centering
\begin{tabular}{lcr}
left & center & right
\end{tabular}
\caption{Test Table}
\end{table}
\end{document}
结果再次与已经显示的相同。
答案2
您提到您使用article
document 类。因此我建议您使用托比宾包并使用该包的\tocfile
命令告诉 LaTeX 对表格列表和图表列表进行编号。
\documentclass{article}
\usepackage[nottoc]{tocbibind} % no line item for ToC in ToC
\renewcommand{\listoffigures}{%
\begingroup
\tocsection
\tocfile{\listfigurename}{lof}
\endgroup}
\renewcommand{\listoftables}{%
\begingroup
\tocsection
\tocfile{\listtablename}{lot}
\endgroup}
\usepackage[titles]{tocloft} % optional
\renewcommand{\cftsecpagefont}{\mdseries} % don't bold-face page numbers
\usepackage{lipsum} % filler text
\begin{document}
\pagenumbering{roman}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\listoftables
\clearpage
\pagenumbering{arabic}
\section{Intro}
\lipsum[1-6]
\begin{figure}[htpb]\caption{A figure}\end{figure}
\begin{table}[htpb]\caption{A table}\end{table}
\lipsum[7-9]
\section{Outro}
\lipsum[1-6]
\begin{figure}[htpb]\caption{Another figure}\end{figure}
\begin{table}[htpb]\caption{Another table}\end{table}
\lipsum[7-9]
\end{document}