当附录中没有表格或图形时,关闭图表列表中的附录标题

当附录中没有表格或图形时,关闭图表列表中的附录标题

我的主文档中的表格列表和图表列表显示正确,但在主列表之后,我得到了一个附录标题,如下所示:

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)并注释掉上述行。

相关内容