LaTeX 中图表列表中的单行空格超过一行

LaTeX 中图表列表中的单行空格超过一行

在我的论文中,文本需要双倍行距,但目录和超过一行的图表列表的行需要单倍行距。在下面的代码中,我可以在目录中执行此操作,但它不适用于图表列表:

\documentclass[12pt]{article}
\usepackage{setspace}
\doublespacing 
\usepackage{tocloft}
\renewcommand\cftsecafterpnum{\vskip\baselineskip}
\renewcommand\cftsubsecafterpnum{\vskip\baselineskip}
\renewcommand\cftsubsubsecafterpnum{\vskip\baselineskip}
\titleformat{\section}[block]{\Large\bfseries\filcenter}{}{}{}
\renewcommand{\contentsname}{\hfill\bfseries\Large TABLE OF CONTENTS\hfill}  
\renewcommand{\cfttoctitlefont}{\hspace*{\fill}\Huge\bfseries}
\renewcommand{\cftaftertoctitle}{\hspace*{\fill}}
\renewcommand{\cftlottitlefont}{\hspace*{\fill}\Huge\bfseries}
\renewcommand{\cftafterlottitle}{\hspace*{\fill}}
\renewcommand{\cftloftitlefont}{\hspace*{\fill}\Huge\bfseries}
\renewcommand{\cftafterloftitle}{\hspace*{\fill}} 
\renewcommand{\cftfigpresnum}{Figure \ }
\renewcommand{\cfttabpresnum}{Table \ }
\newlength{\mylenf}
\settowidth{\mylenf}{\cftfigpresnum}
\setlength{\cftfignumwidth}{\dimexpr\mylenf+1.5em}
\setlength{\cfttabnumwidth}{\dimexpr\mylenf+1.5em}


\begin{document}

\begin{singlespace}
  \tableofcontents
\end{singlespace}
\newpage

\begin{singlespace}
    \listoftables
\end{singlespace}   
\addcontentsline{toc}{section}{List of Tables}
\newpage

\begin{singlespace}
    \listoffigures
\end{singlespace}   
\addcontentsline{toc}{section}{List of Figures}
\newpage

\end{document}

根据此代码,整个表格列表和图表列表都变成单倍行距。您能告诉我如何解决这个问题吗?

答案1

问题中的陈述不清楚。它确实适用于 ToC,但不适用于 LoF 和 LoT,因为相关\cftfigureafterpnum宏没有像它们的secsubsecsubsubsec变体那样重新定义。

但是,它整体上看起来并不十分好看,尤其是在每个等条目之前还有额外的空格,可以使用 (以及的相关变体,即和)sec进行控制。\cftbeforesecskipsubsecsubsubsec\cftbeforesubsecskip\cftbeforesubsubsecskip

我已经将要\begin{singlespacing}...\end{singlespacing}写入相关.toc文件等的明确内容以及添加的tocbibind包以便将其包含list of...在目录中。

最后,我\renewcommand{\contentsname}用等将奇怪的东西改成更方便的东西\cfttoctitlefont

\documentclass[12pt]{article}

\usepackage{blindtext}
\usepackage{pgffor}
\usepackage{setspace}
\doublespacing 
\usepackage{tocloft}
\usepackage{tocbibind}


\renewcommand\cftsecafterpnum{\vskip\baselineskip}
\renewcommand\cftsubsecafterpnum{\vskip\baselineskip}
\renewcommand\cftsubsubsecafterpnum{\vskip\baselineskip}

% My invention (C.H)
\renewcommand\cftfigafterpnum{\vskip\baselineskip}
\renewcommand\cfttabafterpnum{\vskip\baselineskip}


%\titleformat{\section}[block]{\Large\bfseries\filcenter}{}{}{}% No titlesec

%\renewcommand{\contentsname}{\hfill\bfseries\Large TABLE OF CONTENTS\hfill}% Bad idea

\renewcommand{\contentsname}{TABLE OF CONTENTS}
\renewcommand{\cfttoctitlefont}{\hfill\bfseries\Large}
\renewcommand{\cftaftertoctitle}{\hfill}

\renewcommand{\cfttoctitlefont}{\hspace*{\fill}\Huge\bfseries}
\renewcommand{\cftaftertoctitle}{\hspace*{\fill}}
\renewcommand{\cftlottitlefont}{\hspace*{\fill}\Huge\bfseries}
\renewcommand{\cftafterlottitle}{\hspace*{\fill}}
\renewcommand{\cftloftitlefont}{\hspace*{\fill}\Huge\bfseries}
\renewcommand{\cftafterloftitle}{\hspace*{\fill}} 
\renewcommand{\cftfigpresnum}{Figure \ }
\renewcommand{\cfttabpresnum}{Table \ }


% Only if needed
%\setlength{\cftbeforesubsecskip}{0pt}
%\setlength{\cftbeforesecskip}{0pt}


\newlength{\mylenf}
\settowidth{\mylenf}{\cftfigpresnum}
\setlength{\cftfignumwidth}{\dimexpr\mylenf+1.5em}
\setlength{\cfttabnumwidth}{\dimexpr\mylenf+1.5em}


\AtBeginDocument{
  \addtocontents{toc}{\protect\begin{singlespacing}}
  \addtocontents{lof}{\protect\begin{singlespacing}}
  \addtocontents{lot}{\protect\begin{singlespacing}}
}

\AtEndDocument{%
  \addtocontents{toc}{\protect\end{singlespacing}}
  \addtocontents{lof}{\protect\end{singlespacing}}
  \addtocontents{lot}{\protect\end{singlespacing}}
}


\begin{document}



\tableofcontents

\clearpage
\listoftables

\clearpage
\listoffigures
\clearpage

\foreach \x in {1,2,3,4,5} 
{
  \section{My foo section \x}
  \subsection{My foo subsection \x} 
  \begin{figure}
    \caption{ A caption \x}
  \end{figure}

  \blindtext[10]

  \begin{table}
    \caption{ A caption \x}
  \end{table}


  \begin{figure}
    \caption{ Another caption \x}
  \end{figure}

  \blindtext[3]


  \begin{table}
    \caption{ Another caption \x}
  \end{table}

}
  
\end{document}

在此处输入图片描述

然而,我省略了表格列表的屏幕截图——它并没有显示与 LoF 真正不同的东西。

相关内容