自定义表格列表以包含“表格”字样

自定义表格列表以包含“表格”字样

我正在自定义报告类文档中的表格列表和图表列表。我试图生成以这种方式开始的列表:“表格 1:一些信息”等等,而不是默认以章节编号开头(“1.2 一些信息”)。有两件事我无法做到:1. 在表格/图表后添加“:”,2. 抑制不同章节的表格/图表之间的额外垂直空间,即我希望列表中的项目之间的距离相等,无论它们属于哪个章节。

以下是仅用于表格列表的代码:

\documentclass{report}
\usepackage{chngcntr}  
\usepackage{tocloft}
\usepackage{hyperref}

\renewcommand{\cfttabpresnum}{Table }
\newlength{\mylen}
\settowidth{\mylen}{\cfttabpresnum\cfttabaftersnum}
\addtolength{\cfttabnumwidth}{\mylen}

\begin{document}
\listoftables

\chapter{Test one}
\section{Test one one}

\begin{table}
\caption{Test table one}
\end{table}

\begin{table}
\caption{Test table one}
\end{table}

\begin{table}
\caption{Test table one}
\end{table}

\begin{table}
\caption{Test table one}
\end{table}

\begin{figure}
  \caption{Test figure one}
\end{figure}

\chapter{Test two}
\section{Test two two}

\begin{table}
\caption{Test table two}
\end{table}

\begin{figure}
\caption{Test figure two}
\end{figure}

\end{document}

答案1

对于任何tableofcontents类似命令的定制(ToC,,LoTLoF),我喜欢titletoc包,因为它提供了与包相同的友好用户界面titlesec

下面代码中重要的部分是

\titlecontents{table}
[0pt]                                               % left margin
{\addvspace{.5cm}\itshape}%                         % above code (e.g vertical space)
{\contentsmargin{0pt} \bfseries                     % numbered entry format
    TABLE~\thecontentslabel:\enspace%
    \large}
{\contentsmargin{0pt}\large}                        % unnumbered entry format
{\titlerule*[.5pc]{.}\contentspage}                 % filler-page format (e.g dots)
[\addvspace{.5pc}]                                  % below code (e.g vertical space)

我使用的间距命令比您要求的要多,但您可以根据自己的喜好进行调整。特别是,您可以将其更改为您喜欢的\enspace任何命令。\hspace{}

% arara: pdflatex
% !arara: indent: {overwrite: true}

\documentclass{report}
\usepackage{titletoc}
\usepackage{hyperref}

\titlecontents{table}
[0pt]                                               % left margin
{\addvspace{.5cm}\itshape}%                         % above code (e.g vertical space)
{\contentsmargin{0pt} \bfseries                     % numbered entry format
    TABLE~\thecontentslabel:\enspace%
    \large}
{\contentsmargin{0pt}\large}                        % unnumbered entry format
{\titlerule*[.5pc]{.}\contentspage}                 % filler-page format (e.g dots)
[\addvspace{.5pc}]                                  % below code (e.g vertical space)


\begin{document}

\listoftables
\chapter{Test one}
\section{Test one one}

\begin{table}
    \caption{Test table one}
\end{table}

\begin{table}
    \caption{Test table one}
\end{table}

\begin{table}
    \caption{Test table one}
\end{table}

\begin{table}
    \caption{Test table one}
\end{table}

\begin{figure}
    \caption{Test figure one}
\end{figure}

\chapter{Test two}
\section{Test two two}

\begin{table}
    \caption{Test table two}
\end{table}

\begin{figure}
    \caption{Test figure two}
\end{figure}

\end{document}

相关内容