我正在尝试使用 memoir 类将 LOF 和 LOT 添加到我当前的文档中。当我尝试删除 LOF 和 LOT 标题上方的间距时,我收到“未定义控制序列。\setlength{\cftbeforelottitleskip}{0pt}”错误。我已注释掉以下行
\setlength{\cftbeforelottitleskip}{0pt}
和
\setlength{\cftbeforeloftitleskip}{0pt}
我的文档的骨架版本如下所示
工作示例
\documentclass[letterpaper,12pt,oneside]{memoir}
\usepackage[left=1in,right=1in,top=1in,bottom=1in]{geometry}
\DisemulatePackage{setspace}
\usepackage{setspace}
\usepackage[explicit]{titlesec}
\usepackage{blindtext}
\usepackage{tocloft}
\usepackage{hyperref}
% toc depth
\setsecnumdepth{subsubsection}
\settocdepth{section}
\setlength{\parindent}{0.5in}
% name toc
\renewcommand{\contentsname}
{\centerline{\normalsize{\normalfont{\MakeUppercase{Table of Contents}}}}}
% set chapter scshape
\renewcommand{\cftchapterfont}{\scshape}
% add dots to the TOC Chapters
\renewcommand{\cftchapterdotsep}{\cftdotsep}
% indent in TOC
\cftsetindents{chapter}{0in}{0.5in}
\cftsetindents{section}{0.5in}{0.5in}
\cftsetindents{subsection}{1.0in}{0.5in}
% add period after number in TOC
%memoir
\renewcommand{\cftchapteraftersnum}{.}
\begin{document}
\pagestyle{plain}
\pagenumbering{roman}
% remove and space before after toc title
\renewcommand{\aftertoctitle}{\vspace{1em}}
\renewcommand{\tocheadstart}{}
\addtocontents{toc}{\noindent\textbf{Chapter}\hfill\textbf{Page}\par}
\tableofcontents*
\newpage
% LIST OF TABLES
\renewcommand{\listtablename}
{\centerline{\normalsize{\normalfont{\MakeUppercase{List of Tables}}}}}
\addtocontents{lot}{\noindent\textbf{Table}~\hfill\textbf{Page}\par}
%\setlength{\cftbeforelottitleskip}{0pt}
\listoftables*
\newpage
% LIST OF FIGURES
\renewcommand{\listfigurename}
{\centerline{\normalsize{\normalfont{\MakeUppercase{List of Figures}}}}}
\addtocontents{lof}{\noindent\textbf{Figure}~\hfill\textbf{Page}\par}
%\setlength{\cftbeforeloftitleskip}{0pt}
\listoffigures*
\newpage
\pagenumbering{arabic}
\doublespacing
\chapter{Introduction}
\blindtext
\begin{table}[h]
\caption{This is a table}
\end{table}
\begin{table}[h]
\caption{This is another table}
\end{table}
\section{Intro Sample Section}
\blindtext
\begin{figure}[h]
\caption{This is a figure}
\end{figure}
\begin{figure}[h]
\caption{This is another figure}
\end{figure}
\end{document}
取消注释该行后页面如下所示:
截屏
问题:
- 如何删除/调整 LOF 和 LOT 标题上方和下方的空间?我可以用两行来对 TOC 进行此操作。
- 如果 TOC/LOF/LOT 跨越多页,是否有办法在每个后续页面上重复 TOC/LOF/LOT 标题和标题下方的一行(例如“图...页面”)。
解决方案:
- 删除标题前的空格:
\renewcommand*{\Xheadstart}{\vspace{0em}}
。调整标题后的空格:\renewcommand{\afterXtitle}{\vspace{1em}}
。,,X
在哪里toc
lot
lof
- 在我看来,拥有一个干净、统一的连续标题有些困难。我能做到的最接近的方法是将“图...页”添加到标题的右侧和左侧部分。虽然不是最漂亮的,但总比没有好。有关此内容的更多信息,请参阅手册第 365 页(第 21.2.3 节)
memoir
。
答案1
- 删除标题前的空格:
\renewcommand*{\Xheadstart}{\vspace{0em}}
。调整标题后的空格:\renewcommand{\afterXtitle}{\vspace{1em}}
。,,X
在哪里toc
lot
lof
- 在我看来,拥有一个干净、统一的连续标题有些困难。我能做到的最接近的方法是将“图...页”添加到标题的右侧和左侧部分。虽然不是最漂亮的,但总比没有好。有关此内容的更多信息,请参阅手册第 365 页(第 21.2.3 节)
memoir
。