我的主文档中的表格列表和图表列表显示正确,但在主列表之后,我得到了一个附录标题,如下所示:
4.1 最后一张图片...................................无论哪一页
附录
数字
我的任何附录中都没有任何图表,但标题仍然显示。如果我在附录中添加虚假图表,它会出现在标题之后。
我曾尝试用来\addtocontents{lof}{\protect\setcounter{tocdepth}{0}}
关闭附录中的图表列表,但其结果是标题后不再显示任何图表,但标题仍然存在。
我正在使用一份不是我写的论文 .cls,所以我不确定所有内容的作用。涵盖表格/图表/内容列表的部分如下所示:
\def\tableofcontents{\@tableof{TABLE OF CONTENTS}{}{tocpage}{toc}{}}
\def\listoffigures{
\@tableof{LIST OF FIGURES}{Figure}{lofpage}{lof}
{\protect\addcontentsline{toc}{chapter}{LIST OF FIGURES}}}
\def\listoftables{
\@tableof{LIST OF TABLES}{Table}{lotpage}{lot}
{\protect\addcontentsline{toc}{chapter}{LIST OF TABLES}}}
\def\@tableof#1#2#3#4#5{
{ % limit scope of following declarations!!
\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
\addtolength{\textheight}{-40pt} % -24-16
%\addtolength{\majorheadskip}{-40pt} % -24-16
\addtolength{\headheight}{52pt} % 36+16
\addtolength{\headsep}{-12pt} % -12
\begin{center}
\chapter*{#1}
\end{center}
#5
\relax\markboth{#1}{#1}
\hbox to \hsize{#2 \hfil Page}
\singlespace
\setcounter{#3}{0}
\setcounter{listofheading}{1} % change from 0 to 1
\def\@oddhead{\vbox to \headheight{\vspace{4pt}
\hbox to \hsize{\hfil\rm\thepage} \vfil
\ifnum\value{#3}=1
\ifnum\value{listofheading}=2
\hbox to \hsize{Appendix\hfil} \vspace{4pt} \fi
\ifnum\value{listofheading}=1
\stepcounter{listofheading} \fi
\hbox to \hsize{#2 \hfil Page}
\else
\setcounter{#3}{1}
\fi
}}
\def\@evenhead{\vbox to \headheight{\vspace{4pt}
\hbox to \hsize{\rm\thepage\hfil} \vfil
\ifnum\value{#3}=1
\ifnum\value{listofheading}=2
\hbox to \hsize{Appendix\hfil} \vspace{4pt} \fi
\ifnum\value{listofheading}=1
\stepcounter{listofheading} \fi
\hbox to \hsize{#2 \hfil Page}
\else
\setcounter{#3}{1}
\fi
}}
\@starttoc{#4} \if@restonecol\twocolumn\fi
% \newpage
}}
我尝试删除@tableof
定义中除@starttoc
行之外的所有内容,但标题仍然出现。如何让列表不显示空白部分的标题?
答案1
如果没有可编译的示例或至少没有类文件的链接,很难说清楚发生了什么。宏\@tableof
不是罪魁祸首——它暂时切换到\onecolumn
,更改页边距并设置偶数和奇数 LoF/LoT 页面的标题。我建议查看\appendix
类文件中的定义——如果此宏包含类似以下行
\addtocontents{lof}{Appendix}
将定义复制\appendix
到文档的前言中(确保将其括在\makeatletter
/内\makeatother
)并注释掉上述行。