表格列表定制

表格列表定制

我正在使用 LaTex,想要获得以下形式的输出,其中 \listoftables 制表符空间是特定量的间隙。有人能帮我按照以下格式做到这一点吗?我试过了,但没有得到所需的结果。

LIST OF TABLES

Chapter 1

Table 1.1   {tab space}            Name of Table     {tab space}                   Page Number

Table 1.2   {tab space}            Name of Table     {tab space}                   Page Number

Chapter 2

Table 2.1   {tab space}            Name of Table     {tab space}                   Page Number

答案1

您可以通过以下方式实现您的目标:(a)\chapter对包含表格的章节使用修改后的命令(修改主要包括将“Chapter <num>”写入文件\jobname.lot)和(b)使用该tocloft包在表格列表中的表格编号之前插入字符串“Table”。

在此处输入图片描述

\documentclass{report}
\usepackage{tocloft}
  \cftsetindents{table}{0em}{6em}
  \renewcommand\cfttabpresnum{Table } % prefix "Table " to table number
\newcommand{\tchapter}[1]{%
  \chapter{#1}
  \addtocontents{lot}{Chapter \thechapter} % write 
  \addtocontents{lot}{\medskip} % choose vertical spacing to suit your needs
}
\begin{document}\pagestyle{empty}
\tableofcontents
\listoftables
\tchapter{First chapter}

\begin{table}[th!] \caption{First} \centering u \end{table}
\begin{table}[h]   \caption{Second}\centering v \end{table}
\begin{table}[h]   \caption{Third} \centering w \end{table}

\tchapter{Second chapter}
\begin{table}[th!] \caption{Fourth}\centering x \end{table}
\begin{table}[h]   \caption{Fifth} \centering y \end{table}
\begin{table}[h]   \caption{Sixth} \centering z \end{table}

\chapter{Third chapter} % no tables in this chapter, so don't use \tchapter

\tchapter{Fourth chapter}
\begin{table}[th!] \caption{Seventh}\centering x \end{table}
\begin{table}[h]   \caption{Eighth} \centering y \end{table}
\begin{table}[h]   \caption{Ninth} \centering z \end{table}

\end{document} 

答案2

像这样?

在此处输入图片描述

代码:

\documentclass{report}
\usepackage{tocloft}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@chapter}
  {\addtocontents{lot}{\protect\addvspace{10\p@}}}
  {\addtocontents{lot}{\par\protect\addvspace{10\p@}}
   \addtocontents{lot}{\textbf{#1}}
   \addtocontents{lot}{\vspace{5pt}}}
  {}
  {}
\makeatother

\setlength{\cfttabindent}{0cm}
\renewcommand{\cfttabdotsep}{\cftnodots}
\renewcommand\cfttabpresnum{\tablename~}
\setlength\cfttabnumwidth{5cm}

\begin{document}

\listoftables

\chapter{Chapter 1}
\begin{table}
\caption{Name of table}
\end{table}
\begin{table}
\caption{Name of table}
\end{table}

\chapter{Chapter 2}
\begin{table}
\caption{Name of table}
\end{table}

\end{document} 

我已经修补了\@chapter命令,以便在 LoT 中插入章节名称

\makeatletter
\patchcmd{\@chapter}
  {\addtocontents{lot}{\protect\addvspace{10\p@}}}
  {\addtocontents{lot}{\par\protect\addvspace{10\p@}}
   \addtocontents{lot}{\textbf{#1}}
   \addtocontents{lot}{\vspace{5pt}}}
  {}
  {}
\makeatother

并借助tocloft命令调整表格的参数

\setlength{\cfttabindent}{0cm}
\renewcommand{\cfttabdotsep}{\cftnodots}
\renewcommand\cfttabpresnum{\tablename~}
\setlength\cfttabnumwidth{5cm}

调整最后的长度至5cm您需要的长度。

相关内容