目录被纳入目录

目录被纳入目录

目录不断被包含在目录中。我使用了一个模板,它包含特殊样式。我猜这种行为是由这些行引起的。

    \def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      %\refstepcounter{part}%
      \addcontentsline{toc}{part}{\partname~\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \normalsize\bfseries \partname\nobreakspace\thepart
       \par
       \vskip 20\p@
     \fi
     \normalsize \bfseries #2\par}%
    \@endpart}
\def\@spart#1{%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \normalsize \bfseries #1\par}%
    \@endpart}
\def\@endpart{\vfil\newpage}

\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne                               % совпадает с 2-105 
                         \refstepcounter{chapter}%                             % совпадает с 2-105 
                         \typeout{\@chapapp\space\thechapter.}%                % совпадает с 2-105 
                         \addcontentsline{toc}{chapter}%                       % совпадает с 2-105 
                                   {\protect\numberline{\thechapter}#1}%       % совпадает с 2-105 
                    \else                                                      % совпадает с 2-105 
                      \addcontentsline{toc}{chapter}{#1}%                      % совпадает с 2-105 
                    \fi                                                        % совпадает с 2-105  
                    \chaptermark{#1}%                                          % совпадает с 2-105 
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%            % совпадает с 2-105 
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%            % совпадает с 2-105 
                    \if@twocolumn                                              
                      \@topnewpage[\@makechapterhead{#2}]%                     
                    \else                                                  
                      \@makechapterhead{#2}%                                   % совпадает с 2-105 
                      \@afterheading                                           % совпадает с 2-105 
                    \fi}

\def\@schapter#1{\if@twocolumn
                   \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                   \addcontentsline{toc}{chapter}{#1}
                   \@makeschapterhead{#1}%
                   \@afterheading
                 \fi}


但我不知道它们是如何工作的。如何为目录设置例外? 像这样

答案1

您的模板使用带星号的章节作为目录标题,另一方面让所有带星号的章节\chapter*自动在辅助文件中添加匹配的条目.toc

为了使此功能不起作用,\tableofcontents您可以尝试将自己的数据添加到.toc文件中。

\addtocontents{toc}{\string\iffalse}
\tableofcontents
\addtocontents{toc}{\string\fi}

这看上去是最不黑客的方式。

相关内容