![интервал между главами в списке таблиц](https://rvso.com/image/254688/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B0%D0%BB%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%B3%D0%BB%D0%B0%D0%B2%D0%B0%D0%BC%D0%B8%20%D0%B2%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86.png)
tocloft, похоже, автоматически добавляет дополнительный пробел между записями таблиц из разных глав. Мне нужен один пробел между всеми записями в списке таблиц. Сейчас у меня один пробел между записями из одной главы и два пробела между записями из разных глав. Вот MWE того, что у меня есть.
\documentclass[11pt, letterpaper]{thesis}
\usepackage[lmargin=1.5in, rmargin=1.0in, tmargin=2.0in, bmargin=1.0in]{geometry}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}
\usepackage{tocloft}
\addtocontents{lot}{Table \hfill\ {Page} \par}
\usepackage{titlesec}
\usepackage{caption}
\usepackage{ctable}
\usepackage{tabularx}
\begin{document}
% List of Tables
\renewcommand{\cftlottitlefont}{\normalfont}
\renewcommand\listtablename{\centerline{TABLES}}
\renewcommand{\cfttabaftersnum}{.}
\setlength{\cfttabindent}{0pt}
\setlength\cftbeforechapskip{0pt}
\setlength\cftbeforetabskip{11pt}
\listoftables
% End List of Tables
\chapter{Chapter One}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 1.1.}
\end{table}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 1.2.}
\end{table}
\chapter{Chapter Two}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 2.1.}
\end{table}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 2.2.}
\end{table}
\end{document}
Я использую \setlength\cftbeforechapskip{0pt}
, но это, похоже, не дает никакого эффекта. Я нашел это:Как изменить межстрочный интервал в списке рисунков?и попробовал некоторые из предложений, но ни одно из них не сработало для меня. Есть идеи?
решение1
Этот пробел не создается классом tocloft
, а создается используемым классом, обычно в определении \@chapter
(по крайней мере, в стандартных классах); одним из возможных решений было бы переопределение этой команды для подавления дополнительного пробела; приведенный ниже код показывает это переопределение для стандартного класса book
(строки, добавляющие пробел к LoF и LoT, были закомментированы и отмечены знаком %NEW
):
\documentclass[11pt, letterpaper]{book}
\usepackage[lmargin=1.5in, rmargin=1.0in, tmargin=2.0in, bmargin=1.0in]{geometry}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}
\usepackage{tocloft}
\addtocontents{lot}{Table \hfill\ {Page} \par}
\usepackage{titlesec}
\usepackage{caption}
\usepackage{ctable}
\usepackage{tabularx}
\makeatletter
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
% \addtocontents{lof}{\protect\addvspace{10\p@}}% NEW
% \addtocontents{lot}{\protect\addvspace{10\p@}}% NEW
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\makeatother
\begin{document}
% List of Tables
\renewcommand{\cftlottitlefont}{\normalfont}
\renewcommand\listtablename{\centerline{TABLES}}
\renewcommand{\cfttabaftersnum}{.}
\setlength{\cfttabindent}{0pt}
\setlength\cftbeforechapskip{0pt}
\setlength\cftbeforetabskip{11pt}
\listoftables
% End List of Tables
\chapter{Chapter One}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 1.1.}
\end{table}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 1.2.}
\end{table}
\chapter{Chapter Two}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 2.1.}
\end{table}
\begin{table}[htbp]
\centering
\begin{tabular}{lll}
\toprule
& Col 1 & Col 2 \\
\midrule
Row 1 & 11 & 12 \\
Row 2 & 21 & 22 \\
\bottomrule
\end{tabular}
\caption{This is table 2.2.}
\end{table}
\end{document}
Поскольку вы используете нестандартный класс, приведенное выше решение может вам не подойти; в этом случае нам нужно будет посмотреть, как ваш класс добавляет это пространство.