答案1
这假设标题没有标题,只有“表 1:”。或者他们确实允许使用标题,但只是没有在示例中显示它们。如果不是,那么\l@table
将不得不忽略标题并只使用\numberline
(可以使用保存框,但更复杂)。请注意,边距(\leftskip
和\rightskip
)包括表格和页码。
事实证明,\@dottedtocline
无法添加右边距,因此必须格式化所有内容。另一方面,我唯一改变的\listoftables
是替换\chapter*{\listtablename}
。
\documentclass{book}
\usepackage{showframe}
\renewcommand\thetable{\arabic{table}}% as opposed to 1.1, 1.2 etc.
\makeatletter
\renewcommand*\l@table[2]{% #1 = title (with \numberline), #2 = page
\def\numberline##1{\leavevmode\llap{Table~##1: }}%
\leftskip=0.5in% left margin
\rightskip=0.75in% right margin
{#1}\leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill% dotted line
\rlap{ #2}\par}
\renewcommand\listoftables{%
\if@twocolumn% probably not needed
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
%\chapter*{\listtablename}% defalt title
\null\vskip\baselineskip
\noindent\parbox{\textwidth}{\centering
LIST OF TABLES\\
\vskip\baselineskip
(There is no bold or italics text on LOT)}\par
\null\hfill\makebox[0.75in][l]{ PAGE}\par
\thispagestyle{plain}%
\@mkboth{% sets header
\MakeUppercase\listtablename}%
{\MakeUppercase\listtablename}%
\@starttoc{lot}%
\if@restonecol\twocolumn\fi
}
\makeatother
\begin{document}
\frontmatter
\cleardoublepage \addcontentsline{toc}{chapter}{List of Tables}% add to toc
\listoftables
\mainmatter
\chapter{Start}
Some text.
\begin{table}[ht]
\caption{}
\end{table}
\begin{table}[ht]
\caption{}
\end{table}
\end{document}