%%
%% This is file `classlist.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% classlist.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Project: classlist
%% Version: 2016/05/16 v1.5
%% 
%% Copyright (C)
%%    2005, 2006, 2008, 2011 Heiko Oberdiek
%%    2016-2019 Oberdiek Package Support Group
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%%    https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% The Current Maintainers of this work are
%% Heiko Oberdiek and the Oberdiek Package Support Group
%% https://github.com/ho-tex/oberdiek/issues
%% 
%% 
%% This work consists of the main source file classlist.dtx
%% and the derived files
%%    classlist.sty, classlist.pdf, classlist.ins, classlist.drv.
%% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{classlist}%
  [2016/05/16 v1.5 Record classes used in a document (HO)]
\let\ClassList\@empty
\let\MainClassName\relax
\ifx\@classoptionslist\relax
  \let\CL@org@fileswith@pti@ns\@fileswith@pti@ns
  \def\@fileswith@pti@ns#1[#2]#3[#4]{%
    \ifx#1\@clsextension
      \@ifl@aded#1{#3}{%
        \PackageInfo{classlist}{%
          Skipping class `#3', because\MessageBreak
          this class is already loaded%
        }%
      }{%
        \@ifundefined{MainClassName}{%
          \def\MainClassName{#3}%
        }{}%
        \@temptokena\expandafter{%
          \ClassList
          \ClassListEntry{#3}{#2}{#4}%
        }%
        \edef\ClassList{\the\@temptokena}%
      }%
    \fi
    \CL@org@fileswith@pti@ns{#1}[{#2}]{#3}[{#4}]%
  }%
  \let\@@fileswith@pti@ns\@fileswith@pti@ns
\else
  \PackageInfo{classlist}{Use \string\@filelist\space method}%

  \let\ClassListEntry\relax
  \expandafter\def\expandafter\CL@test
      \expandafter#\expandafter1\@clsextension#2\@nil{%
    \ifx\\#2\\%
    \else
      \expandafter\CL@test@i\CL@entry\@nil
    \fi
  }%
  \expandafter\def\expandafter\CL@test@i
      \expandafter#\expandafter1\@clsextension#2\@nil{%
    \ifx\\#2\\%
      \@ifundefined{opt@\CL@entry}{%
      }{%
        \@ifundefined{MainClassName}{%
          \let\MainClassName\CL@entry
        }{%
        }%
        \edef\ClassList{%
          \ClassList
          \ClassListEntry{\CL@entry}{}{}%
        }%
      }%
    \else
    \fi
  }%
  \@for\CL@entry:=\@filelist\do{%
    \expandafter\expandafter\expandafter\CL@test\expandafter
        \CL@entry\@clsextension\@nil
  }%
\fi
\providecommand*{\PrintClassListEntry}[3]{%
  \toks@{* #1}%
  \typeout{\the\toks@}%
}
\providecommand*{\PrintClassListTitle}{%
  \typeout{Class list:}%
}
\providecommand*{\PrintClassList}{%
  \begingroup
    \let\ClassListEntry\PrintClassListEntry
    \PrintClassListTitle
    \ClassList
  \endgroup
}
\def\CL@InfoEntry#1#2#3{%
  \advance\count@ by \@ne
  \def\x{#2}%
  \@onelevel@sanitize\x
  \edef\CL@Info{%
    \CL@Info
    \noexpand\MessageBreak
    (\the\count@) %
    #1 [\x]%
    \ifx\\#3\\%
    \else
      \space[#3]% hash-ok
    \fi
  }%
}
\AtBeginDocument{%
  \begingroup
    \count@=\z@
    \def\CL@Info{Class List:}%
    \let\ClassListEntry\CL@InfoEntry
    \ClassList
    \let\on@line\@empty
    \PackageInfo{classlist}{\CL@Info}%
  \endgroup
}
\endinput
%%
%% End of file `classlist.sty'.
