在文档开头插入目录

在文档开头插入目录

我尝试在\begin{document}使用钩子后直接插入目录,然后再插入其他列表(lot、lof……)\AtBeginDocument。只要hyperref不是加载\AtEndPreamble。这会导致错误

! 未定义控制序列。\Hy@colorlink

l.1 ...在 0 级躲避 (章节)}{2}{章节 1}

hyperref当我在课堂中加载时,如何将目录插入到文档的开头?

\RequirePackage{filecontents}
\begin{filecontents}{setest.cls}
    \ProvidesClass{setest}[2018-07-10 v0.1 SE Testclass]
    \RequirePackage{etoolbox}
    \LoadClass{scrreprt}

    \@ifpackageloaded{xcolor}{}{\RequirePackage{xcolor}}

    % Probably causing the issue
    \AtEndPreamble{%
        \RequirePackage{hyperref}
        \hypersetup{%
            colorlinks,
            allcolors=red,
            urlcolor=blue%
        }%
    }

%    Insert TOC after \begin{document}
    \AtBeginDocument{%
        \tableofcontents
    }

    \endinput
\end{filecontents}

\documentclass{setest}
\usepackage[T1]{fontenc}
\usepackage{duckuments}
%----
% Working as expected
%\usepackage{etoolbox}
%\usepackage{xcolor}
%\usepackage{hyperref}
%
%\hypersetup{%
%    colorlinks,
%    allcolors=red,
%    urlcolor=blue%
%}%
%
%\AtBeginDocument{%
%    \tableofcontents%
%}
%---

\begin{document}
    \duckument
\end{document}

相关内容