表格列表作为带编号的部分

表格列表作为带编号的部分

如何才能将表格列表作为文章文档中的一个章节,以便它在目录中以编号形式列出?

对于图表列表我使用了以下列表:

\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}

使用 scrartcl 和 buildin 功能

对于标准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}

包含 article 和 tocbasic

但是,如果您希望将您的解决方案适用于图表列表,也适用于表格列表,则必须复制重新定义\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

您提到您使用articledocument 类。因此我建议您使用托比宾包并使用该包的\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}

相关内容