%%
%% This is file `minitoc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% minitoc.dtx  (with options: `minitoc')
%% 
%% This is a generated file.
%% 
%% Copyright (C) 2005 by:
%% Jean-Pierre F. Drucbert
%% <jean-pierre.drucbert@onera.fr>
%% 
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
%% or (at your option) any later version.  The latest version of this
%% license is in:
%% 
%%    http://www.latex-project.org/lppl.txt
%% 
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2003/12/01 or later.
%% 
%% This work has the LPPL maintenance status "author-maintained".
%% 
%% This Current Maintainer of this work is Jean-Pierre F. Drucbert.
%% 
%% This work consists of all the files listed in the file `minitoc.l'
%% distributed with it.
%% 
\NeedsTeXFormat{LaTeX2e}[1996/06/01]%
\ProvidesPackage{minitoc}%
   [2005/09/16 v43 Package minitoc]
\PackageInfo{minitoc}%
   {*** minitoc package, version 43 ***\@gobble}
\newwrite\tf@mtc
\newlength\mtcindent
\newskip\mtcskipamount
\setlength{\mtcskipamount}{\bigskipamount}
\def\mtcskip{\unskip\removelastskip{\parskip=\z@\addvspace{\mtcskipamount}}}
\newif\if@mtc@sect@floats@ \@mtc@sect@floats@false
\newif\if@mtc@placeinsLoaded@ \@mtc@placeinsLoaded@false
\newif\if@mtc@memoirLoaded@ \@mtc@memoirLoaded@false
\newif\if@mtc@memoirnew@ \@mtc@memoirnew@false
\newif\if@mtc@sectstyLoaded@ \@mtc@sectstyLoaded@false
\newif\if@mtc@sectstyLoaded@a@ \@mtc@sectstyLoaded@a@false
\newif\if@mtc@empty@parttoc@ \@mtc@empty@parttoc@false
\newif\if@mtc@empty@partlof@ \@mtc@empty@partlof@false
\newif\if@mtc@empty@partlot@ \@mtc@empty@partlot@false
\newif\if@mtc@empty@minitoc@ \@mtc@empty@minitoc@false
\newif\if@mtc@empty@minilof@ \@mtc@empty@minilof@false
\newif\if@mtc@empty@minilot@ \@mtc@empty@minilot@false
\newif\if@mtc@empty@secttoc@ \@mtc@empty@secttoc@false
\newif\if@mtc@empty@sectlof@ \@mtc@empty@sectlof@false
\newif\if@mtc@empty@sectlot@ \@mtc@empty@sectlot@false
\newif\if@mtc@part@def@ \@mtc@part@def@false
  \@ifundefined{part}{\@mtc@part@def@false}{\@mtc@part@def@true}
\newif\if@mtc@chapter@def@ \@mtc@chapter@def@false
  \@ifundefined{chapter}{\@mtc@chapter@def@false}{\@mtc@chapter@def@true}
\newif\if@mtc@section@def@ \@mtc@section@def@false
  \@ifundefined{section}{\@mtc@section@def@false}{\@mtc@section@def@true}
\newif\if@mtc@part@undef@ \@mtc@part@undef@true
   \@ifundefined{part}{\@mtc@part@undef@true}{\@mtc@part@undef@false}
\newif\if@mtc@chapter@undef@ \@mtc@chapter@undef@true
   \@ifundefined{chapter}{\@mtc@chapter@undef@true}{\@mtc@chapter@undef@false}
\newif\if@mtc@section@undef@ \@mtc@section@undef@true
   \@ifundefined{section}{\@mtc@section@undef@true}{\@mtc@section@undef@false}
\newif\if@parttoc@used@ \global\@parttoc@used@false
\newif\if@partlof@used@ \global\@partlof@used@false
\newif\if@partlot@used@ \global\@partlot@used@false
\newif\if@doparttoc@used@ \global\@doparttoc@used@false
\newif\if@dopartlof@used@ \global\@dopartlof@used@false
\newif\if@dopartlot@used@ \global\@dopartlot@used@false
\newif\if@minitoc@used@ \global\@minitoc@used@false
\newif\if@minilof@used@ \global\@minilof@used@false
\newif\if@minilot@used@ \global\@minilot@used@false
\newif\if@dominitoc@used@ \global\@dominitoc@used@false
\newif\if@dominilof@used@ \global\@dominilof@used@false
\newif\if@dominilot@used@ \global\@dominilot@used@false
\newif\if@secttoc@used@ \global\@secttoc@used@false
\newif\if@sectlof@used@ \global\@sectlof@used@false
\newif\if@sectlot@used@ \global\@sectlot@used@false
\newif\if@dosecttoc@used@ \global\@dosecttoc@used@false
\newif\if@dosectlof@used@ \global\@dosectlof@used@false
\newif\if@dosectlot@used@ \global\@dosectlot@used@false
\newif\if@firstpartis@used@ \global\@firstpartis@used@false
\newif\if@firstchapteris@used@ \global\@firstchapteris@used@false
\newif\if@firstsectionis@used@ \global\@firstsectionis@used@false
\newif\if@mtc@notoccite@ \@mtc@notoccite@false
\@ifundefined{mtc@hook@beforeinputfile}%
   {\let\mtc@hook@beforeinputfile\relax}{}
\newif\iftightmtc \tightmtcfalse
\newif\ifktightmtc \ktightmtcfalse
\PackageInfo{minitoc}{*** compatible with hyperref ***\@gobble}
\newif\if@mtc@hyper@used@ \global\@mtc@hyper@used@false
\AtBeginDocument{%
  \@ifpackageloaded{hyperref}{%
    \global\@mtc@hyper@used@true
    \def\toclevel@xpart{1000}%
    \def\toclevel@xchapter{1000}%
    \def\toclevel@xsect{1000}%
    \let\toclevel@starpart\toclevel@part
    \let\toclevel@starchapter\toclevel@chapter
    \let\toclevel@starsection\toclevel@section
    \let\toclevel@starsubsection\toclevel@subsection
    \let\toclevel@starsubsubsection\toclevel@subsubsection
    \let\toclevel@starparagraph\toclevel@paragraph
    \let\toclevel@starsubparagraph\toclevel@subparagraph
  }{}%
}
 \@ifpackageloaded{sectsty}{\@mtc@sectstyLoaded@true}{}
 \AtBeginDocument{\@ifpackageloaded{sectsty}{\@mtc@sectstyLoaded@a@true}{}}
\newif\if@mtcpatchmemoir@ \@mtcpatchmemoir@false
\@ifclassloaded{memoir}%
   {\@mtc@memoirLoaded@true\relax%
   \PackageInfo{minitoc}%
      {*** the memoir class is loaded: compatibility attempted ***\@gobble}}%
   {\@mtc@memoirLoaded@false}
\if@mtc@memoirLoaded@
 \@ifundefined{@m@mchapter}%
   {\@mtc@memoirnew@false\PackageInfo{minitoc}%
      {*** old version of the memoir class ***\@gobble}}
   {\@mtc@memoirnew@true\PackageInfo{minitoc}%
      {*** recent version of the memoir class ***\@gobble}
      \PackageInfo{minitoc}{*** This version of the memoir class uses \MessageBreak
                                a version of \string\chapter\space which is \MessageBreak
                                incompatible with the minitoc package. \MessageBreak
 We try to patch ***\@gobble}%
   \@mtcpatchmemoir@true}
\fi
\if@mtcpatchmemoir@
\InputIfFileExists{mtcpatchmem.sty}{}{%
   \Package{Error}{minitoc}
     {*** Unable to patch the memoir class ***}%
     {So it remains incompatible. Sorry.}}
\fi
\begingroup
\catcode`\Q=3
\long\gdef\mtc@ifmtarg#1{%
\mtc@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil}
\long\gdef\mtc@xifmtarg#1#2Q#3#4#5\@nil{#4}
\endgroup
\let\mtc@EndWhile = \fi
\def\mtc@While #1#2#3\mtc@EndWhile{%
   \def\mtc@WhilePreCondition{#1}%
   \def\mtc@WhileCondition{#2}%
   \def\mtc@WhileBody{#3}%
   \mtc@@While
}
\def\mtc@@While{%
   \mtc@WhilePreCondition
   \mtc@WhileCondition
      \def\mtc@WhileNext{%
          \mtc@WhileBody
          \mtc@@While
      }%
   \else
      \def\mtc@WhileNext{}%
   \fi
   \mtc@WhileNext
}
\newif\if@mtc@LI\@mtc@LItrue
\newif\if@mtc@FE\@mtc@FEtrue
\newif\if@mtc@checkfiles\@mtc@checkfilestrue
\def\mtc@Body{\immediate\read\@inputcheck to
                                   \mtc@Rline\relax
  \ifeof\@inputcheck\relax\@mtc@LIfalse\fi
  \expandafter\ifx\mtc@Rline\par\relax
     \def\mtc@Rline{}
  \else
     \ifeof\@inputcheck\relax\global\@mtc@LIfalse\fi
     \mtc@ifmtarg{\mtc@Rline}{\relax}%
              {\@mtc@FEfalse\@mtc@LIfalse}
  \fi
}
\def\mtc@CkFile#1{%
\@mtc@LItrue\@mtc@FEtrue
\if@mtc@checkfiles
\IfFileExists{#1}{%
\immediate\openin\@inputcheck #1\relax
\mtc@While{}{\if@mtc@LI\relax}%
   {\mtc@Body}%
\mtc@EndWhile}%
{\@mtc@FEtrue}%
\else
\@mtc@FEfalse%
\fi}
\closein\@inputcheck\relax
\def\mtc@CkStr#1{%
\immediate\openout\tf@mtc \jobname.mtc
\immediate\write\tf@mtc{#1}%
\immediate\closeout\tf@mtc
\mtc@CkFile{\jobname.mtc}%
\immediate\openout\tf@mtc \jobname.mtc
\immediate\closeout\tf@mtc}
\def\mtc@onebackpart{\addtocounter{ptc}{-1}}
\def\mtc@onebackchap{\addtocounter{mtc}{-1}}
\def\mtc@onebacksect{\addtocounter{stc}{-1}}
\@ifundefined{part}{%
  \PackageWarningNoLine{minitoc}%
     {*** part level macros NOT available ***}
}{%% else undefined part (\part defined)
  \PackageInfo{minitoc}%
     {*** part level macros available ***\@gobble}
  \let\mtc@svspart\@spart
  \def\@spart{\stepcounter{ptc}\mtc@svspart}
  \let\mtc@svpart\@part
  \def\@part{\stepcounter{ptc}\mtc@svpart}
\newcommand{\mtcaddpart}[1][]{%
    \mtc@ifmtarg{#1}{\addcontentsline{toc}{xpart}{}}%
                    {\addcontentsline{toc}{part}{#1}}%
    \addcontentsline{lof}{xpart}{}%
    \addcontentsline{lot}{xpart}{}%
    \adjustptc}
}%
\@ifundefined{chapter}{\PackageInfo{minitoc}%
           {*** chapter level macros NOT available ***\@gobble}%
  \@ifundefined{section}{\PackageInfo{minitoc}%
           {*** section level macros NOT available ***\@gobble}%
    \PackageWarningNoLine{minitoc}%
       {*** no section or chapter level macros available ***
        \MessageBreak
        *** PLEASE VERIFY YOUR MAIN DOCUMENT CLASS ***}}%
  {\PackageInfo{minitoc}%
       {*** section level macros available ***\@gobble}%
    \let\mtcsv@tableofcontents\tableofcontents
    \let\mtcsv@listoffigures\listoffigures
    \let\mtcsv@listoftables\listoftables
    \def\tableofcontents{\mtcsv@tableofcontents\mtc@onebacksect}
    \def\listoffigures{\mtcsv@listoffigures\mtc@onebacksect}
    \def\listoftables{\mtcsv@listoftables\mtc@onebacksect}
     \let\mtc@svsection\section
     \def\section{\stepcounter{stc}\mtc@svsection}
     \let\mtc@svss\@ssect
\newcommand{\mtcaddsection}[1][]{%
    \mtc@ifmtarg{#1}{\addcontentsline{toc}{xsection}{}}%
                    {\addcontentsline{toc}{section}{#1}}%
    \addcontentsline{lof}{xsection}{}%
    \addcontentsline{lot}{xsection}{}%
    \adjuststc}
  }}%
   {%
  \PackageInfo{minitoc}{*** chapter level macros available ***\@gobble}
\let\mtc@svchapter\@chapter
\def\@chapter{\stepcounter{mtc}\mtc@svchapter}
\newcommand{\mtcaddchapter}[1][]{%
    \mtc@ifmtarg{#1}{\addcontentsline{toc}{xchapter}{}}%
                    {\addcontentsline{toc}{chapter}{#1}}%
    \addcontentsline{lof}{xchapter}{}%
    \addcontentsline{lot}{xchapter}{}%
    \adjustmtc}
}%
\def\newread{\alloc@6\read\chardef\sixt@@n}
\newtoks\mtc@toks
\def\mtc@string{\relax}
\newbox\mtc@strutbox
\setbox\mtc@strutbox=\hbox{\rule[1.8ex]{\z@}{2.5ex}}
\def\mtc@strut{\relax\ifmmode\copy\mtc@strutbox
                     \else\unhcopy\mtc@strutbox\fi}
\newbox\mtc@hstrutbox
\setbox\mtc@hstrutbox=\hbox{\rule[1.ex]{\z@}{1.ex}}
\def\mtc@hstrut{\relax\ifmmode\copy\mtc@hstrutbox
                      \else\unhcopy\mtc@hstrutbox\fi}
\def\mtc@v{\leavevmode\mtc@strut}
\def\mtc@zrule{\rule[\z@]{\z@}{\z@}}
\def\mtc@BBR{\unpenalty\nopagebreak[4]}
\PackageInfo{minitoc}%
   {*** Autoconfiguration of extensions ***\@gobble}
\newif\if@longextensions@\@longextensions@false
\immediate\openout\tf@mtc \jobname.mtc1
\immediate\write\tf@mtc{\string\@longextensions@true}
\immediate\closeout\tf@mtc
\immediate\openout\tf@mtc \jobname.mtc
\immediate\write\tf@mtc{\string\@longextensions@false}
\immediate\closeout\tf@mtc
\input{\jobname.mtc1}
\if@longextensions@
 \PackageInfo{minitoc}%
   {*** Long extensions (Unix-like) will be used ***\@gobble}
 \PackageInfo{minitoc}%
 {==> this version is configured for UNIX-like \MessageBreak
   \space\space\space\space(long extensions) file names\@gobble}%
\else
 \PackageWarningNoLine{minitoc}%
   {*** Short extensions (MSDOS-like) will be used ***sight***}
 \PackageWarningNoLine{minitoc}%
   {==> this version is configured for MSDOS-like
   \MessageBreak \space\space\space\space(8+3) file names}
\fi
\immediate\openout\tf@mtc \jobname.mtc
\immediate\closeout\tf@mtc
\immediate\openout\tf@mtc \jobname.mtc1
\immediate\closeout\tf@mtc
\@ifundefined{@inputcheck}%
  {\PackageWarningNoLine{minitoc}%
     {Your version of latex.tex is obsolete.\MessageBreak
     Trying to continue..}\newread\@inputcheck\relax}{}
\@ifundefined{reset@font}%
  {\PackageWarningNoLine{minitoc}%
     {Your version of latex.tex is very obsolete.\MessageBreak
     Trying to continue... crossing fingers}%
  \let\reset@font\relax}{}
\def\@undottedtocline#1#2#3#4#5{%
  \ifnum #1>\c@tocdepth \else
  \vskip \z@ plus.2\p@
  {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
   \parindent #2\relax\@afterindenttrue
   \interlinepenalty\@M
   \leavevmode
   \@tempdima #3\relax \advance\leftskip \@tempdima \hbox{}%
   \hskip -\leftskip
    #4\nobreak\hfill \nobreak
           \null\par}%
  \fi}
\if@mtc@memoirLoaded@
\def\mtcpagenumbers{%
  \cftpagenumberson{section}
  \cftpagenumberson{subsection}
  \cftpagenumberson{subsubsection}
  \cftpagenumberson{paragraph}
  \cftpagenumberson{subparagraph}}
\def\nomtcpagenumbers{%
  \cftpagenumbersoff{section}
  \cftpagenumbersoff{subsection}
  \cftpagenumbersoff{subsubsection}
  \cftpagenumbersoff{paragraph}
  \cftpagenumbersoff{subparagraph}}
\def\stcpagenumbers{%
  \cftpagenumberson{subsection}
  \cftpagenumberson{subsubsection}
  \cftpagenumberson{paragraph}
  \cftpagenumberson{subparagraph}}
\def\nostcpagenumbers{%
  \cftpagenumbersoff{subsection}
  \cftpagenumbersoff{subsubsection}
  \cftpagenumbersoff{paragraph}
  \cftpagenumbersoff{subparagraph}}
\def\ptcpagenumbers{%
  \cftpagenumberson{chapter}
  \cftpagenumberson{section}
  \cftpagenumberson{subsection}
  \cftpagenumberson{subsubsection}
  \cftpagenumberson{paragraph}
  \cftpagenumberson{subparagraph}}
\def\noptcpagenumbers{%
  \cftpagenumbersoff{chapter}
  \cftpagenumbersoff{section}
  \cftpagenumbersoff{subsection}
  \cftpagenumbersoff{subsubsection}
  \cftpagenumbersoff{paragraph}
  \cftpagenumbersoff{subparagraph}}
  \def\mlfpagenumbers{\cftpagenumberson{figure}}
  \def\nomlfpagenumbers{\cftpagenumbersoff{figure}}
  \def\slfpagenumbers{\cftpagenumberson{figure}}
  \def\noslfpagenumbers{\cftpagenumbersoff{figure}}
  \def\plfpagenumbers{\cftpagenumberson{figure}}
  \def\noplfpagenumbers{\cftpagenumbersoff{figure}}
  \def\mltpagenumbers{\cftpagenumberson{table}}
  \def\nomltpagenumbers{\cftpagenumbersoff{table}}
  \def\sltpagenumbers{\cftpagenumberson{table}}
  \def\nosltpagenumbers{\cftpagenumbersoff{table}}
  \def\pltpagenumbers{\cftpagenumberson{table}}
  \def\nopltpagenumbers{\cftpagenumbersoff{table}}
\else
 \def\mtcpagenumbers{\let\mtc@pgno\null}
 \def\nomtcpagenumbers{\let\mtc@pgno\relax}
 \def\stcpagenumbers{\let\stc@pgno\null}
 \def\nostcpagenumbers{\let\stc@pgno\relax}
 \def\ptcpagenumbers{\let\ptc@pgno\null}
 \def\noptcpagenumbers{\let\ptc@pgno\relax}
 \def\mlfpagenumbers{\let\mlf@pgno\null}
 \def\nomlfpagenumbers{\let\mlf@pgno\relax}
 \def\slfpagenumbers{\let\slf@pgno\null}
 \def\noslfpagenumbers{\let\slf@pgno\relax}
 \def\plfpagenumbers{\let\plf@pgno\null}
 \def\noplfpagenumbers{\let\plf@pgno\relax}
 \def\mltpagenumbers{\let\mlt@pgno\null}
 \def\nomltpagenumbers{\let\mlt@pgno\relax}
 \def\sltpagenumbers{\let\slt@pgno\null}
 \def\nosltpagenumbers{\let\slt@pgno\relax}
 \def\pltpagenumbers{\let\plt@pgno\null}
 \def\nopltpagenumbers{\let\plt@pgno\relax}
\fi
\ptcpagenumbers
\plfpagenumbers
\pltpagenumbers
\mtcpagenumbers
\mlfpagenumbers
\mltpagenumbers
\stcpagenumbers
\slfpagenumbers
\sltpagenumbers
\@ifundefined{chapter}{%
   \let\beforeparttoc\empty
   \let\beforepartlof\empty
   \let\beforepartlot\empty}%
   {\let\beforeparttoc\cleardoublepage
    \let\beforepartlof\cleardoublepage
    \let\beforepartlot\cleardoublepage}
\let\beforeminitoc\empty
\let\beforeminilof\empty
\let\beforeminilot\empty
\let\beforesecttoc\empty
\let\beforesectlof\empty
\let\beforesectlot\empty
\@ifundefined{chapter}{%
   \let\afterparttoc\empty
   \let\afterpartlof\empty
   \let\afterpartlot\empty}%
   {\let\afterparttoc\cleardoublepage
    \let\afterpartlof\cleardoublepage
    \let\afterpartlot\cleardoublepage}
\let\afterminitoc\empty
\let\afterminilof\empty
\let\afterminilot\empty
\let\aftersecttoc\empty
\let\aftersectlof\empty
\let\aftersectlot\empty
\def\thispageparttocstyle{\thispagestyle{empty}}
\def\thispagepartlofstyle{\thispagestyle{empty}}
\def\thispagepartlotstyle{\thispagestyle{empty}}
\def\thispageminitocstyle{\empty}
\def\thispageminilofstyle{\empty}
\def\thispageminilotstyle{\empty}
\def\thispagesecttocstyle{\empty}
\def\thispagesectlofstyle{\empty}
\def\thispagesectlotstyle{\empty}
\def\faketableofcontents{\fake@starttoc{toc}%
    \@ifundefined{c@ptc}{}{\setcounter{ptc}{0}}%
    \@ifundefined{c@mtc}{}{\setcounter{mtc}{0}}%
    \@ifundefined{c@stc}{}{\setcounter{stc}{0}}%
    }
\def\fakelistoffigures{\fake@starttoc{lof}}
\def\fakelistoftables{\fake@starttoc{lot}}
\def\fake@starttoc#1{\begingroup
  \makeatletter
  \if@filesw \expandafter\newwrite\csname tf@#1\endcsname
             \immediate\openout \csname tf@#1\endcsname
             \jobname.#1\relax
  \fi
  \global\@nobreakfalse \endgroup}
\AtBeginDocument{%
 \@ifundefined{c@lofdepth}{}%
   {\newcounter{minilofdepth}\setcounter{minilofdepth}{2}}%
 \@ifundefined{c@lotdepth}{}%
   {\newcounter{minilotdepth}\setcounter{minilotdepth}{2}}%
}
\global\let\mtc@markboth\markboth
\global\let\@mkboth\markboth
\def\addst@rred#1#2{%
  \addcontentsline{toc}{star#1}{#2}%
  \@ifundefined{c@ptc}{}{%
    \expandafter\ifx\csname #1\endcsname\part\relax
      \stepcounter{ptc}%
    \fi
  }%
  \@ifundefined{c@mtc}{}{%
    \expandafter\ifx\csname #1\endcsname\chapter\relax
      \stepcounter{mtc}%
    \fi
  }%
  \@ifundefined{c@stc}{}{%
    \expandafter\ifx\csname #1\endcsname\section\relax
%%      \@ifundefined{chapter}{\stepcounter{stc}}{}%
      \stepcounter{stc}%
    \fi
  }%
}%
\@ifundefined{chapter}{%
\gdef\addstarredsection#1{\addst@rred{section}{#1}}
}%
{%
\def\The@mtc{\arabic{mtc}}
\def\firstchapteris#1%
  {\PackageWarning{minitoc}%
     {*** \string\firstchapteris \space is an obsolete command ***}%
     \@firstchapteris@used@true}
\newcounter{mtc}
\setcounter{mtc}{0}
\newcommand{\adjustmtc}[1][1]{\addtocounter{mtc}{#1}}
\def\decrementmtc{\addtocounter{mtc}{-1}}
\def\incrementmtc{\addtocounter{mtc}{+1}}
\gdef\themtc{\arabic{mtc}}
\newcounter{minitocdepth}
\setcounter{minitocdepth}{2}
\def\mtc@rule{\kern-3\p@ \hrule \@width\columnwidth \kern2.6\p@}
\let\mlf@rule\mtc@rule
\let\mlt@rule\mtc@rule
\let\plf@rule\mtc@rule
\let\plt@rule\mtc@rule
\let\slf@rule\mtc@rule
\let\slt@rule\mtc@rule
\mtcindent=24\p@
\def\mtcfont{\small\rmfamily\upshape\mdseries}
\def\mtcSfont{\small\rmfamily\upshape\bfseries}
\let\mtcSSfont\mtcfont
\let\mtcSSSfont\mtcfont
\let\mtcPfont\mtcfont
\let\mtcSPfont\mtcfont
\let\mlffont\mtcfont
\let\mltfont\mtcfont
\def\mtifont{\large\rmfamily\upshape\bfseries}
\def\coffeefont{\small\rmfamily\slshape\mdseries}
\def\c@mti#1{\null\hfill #1\hfill\null}
\def\l@mti#1{\null #1\hfill\null}
\def\r@mti#1{\null\hfill #1\null}
\def\e@mti#1{\vspace{-\baselineskip}}
\def\n@mti#1{\vspace{-\baselineskip}}
\let\do@mtitc\l@mti
\let\df@mtitc\l@mti
\let\do@mtilf\l@mti
\let\df@mtilf\l@mti
\let\do@mtilt\l@mti
\let\df@mtilt\l@mti
\def\mtc@verse{\let\\=\@centercr
  \list{}{\itemsep\z@
  \itemindent \z@
  \listparindent \itemindent
  \partopsep\z@
  \iftightmtc \parsep\z@ \fi
  \ifktightmtc \parskip\z@ \fi
  \topsep=1ex
  \leftmargin\mtcindent
  \rightmargin\leftmargin}\item[]}
\def\endmtc@verse{\nopagebreak[4]\endlist}
\def\minitoc{\@ifnextchar[{\minitoc@}{\minitoc@[d]}}
\def\minitoc@[#1]{%
\global\@minitoc@used@true
\if@longextensions@
\def\@tocfile{mtc\The@mtc}%
\else
\def\@tocfile{M\The@mtc}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@minitoc@true
        \else
        \thispageminitocstyle
%%        \mtc@markboth{\uppercase{\mtctitle}}{\uppercase{\mtctitle}}%
        \beforeminitoc
        \relax\begin{samepage}%
        \if #1e\let\do@mtitc\e@mti
        \else\if #1n\let\do@mtitc\n@mti
        \else\if #1c\let\do@mtitc\c@mti
        \else\if #1l\let\do@mtitc\l@mti
        \else\if #1r\let\do@mtitc\r@mti
        \else\if #1d\let\do@mtitc\df@mtitc
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\mtctitle}\if@mtc@FE \let\do@mtitc\e@mti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\mtcfont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent %%
        \ifx\mtc@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\mtifont\do@mtitc{\mtc@v\mtctitle}\\
        \end{tabular}%
      \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\mtifont\do@mtitc{\mtc@v\mtctitle}\\\hline
        \end{tabular}%
      \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\\mtc@BBR
        \leftmargin\mtcindent
        \rightmargin\mtcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{mtc@verse}%
        \c@tocdepth=\c@minitocdepth
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{mtc@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \mtc@setform%
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{mtc@verse}%
        \kern0.\baselineskip%
        \nopagebreak[4]\mtc@bottom@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule
        \end{samepage}%
        \par\pagebreak[1]\vspace*{-1ex}\afterminitoc\fi}
\def\mtc@bottom@rule{%
  \ifx\mtc@rule\relax\relax\else
      \vskip -2.5ex
        \rule[2.4\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}\fi}
\def\minilof{\@ifnextchar[{\minilof@}{\minilof@[d]}}
\def\minilof@[#1]{%
\global\@minilof@used@true
\if@longextensions@%
\def\@tocfile{mlf\The@mtc}%
\else
\def\@tocfile{F\The@mtc}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@minilof@true
        \else
        \thispageminilofstyle
%%        \mtc@markboth{\uppercase{\mlftitle}}{\uppercase{\mlftitle}}%
        \beforeminilof
        \relax\begin{samepage}%
        \if #1e\let\do@mtilf\e@mti
        \else\if #1n\let\do@mtilf\n@mti
        \else\if #1c\let\do@mtilf\c@mti
        \else\if #1l\let\do@mtilf\l@mti
        \else\if #1r\let\do@mtilf\r@mti
        \else\if #1d\let\do@mtilf\df@mtilf
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\mlftitle}\if@mtc@FE \let\do@mtilf\e@mti\relax\fi
        \raggedright
        \parskip=\z@
        \reset@font\mlffont
        \parindent=\z@
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \ifx\mlf@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\mtifont\do@mtilf{\mtc@v\mlftitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\mtifont\do@mtilf{\mtc@v\mlftitle}\\\hline
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\\mtc@BBR
        \leftmargin\mtcindent
        \rightmargin\mtcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{mtc@verse}%
        \@ifundefined{c@lofdepth}{}{\c@tocdepth=\c@minilofdepth}
        \ifnum\c@tocdepth<1\relax\c@tocdepth=1\fi
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{mlf@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \mlf@setform
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{mtc@verse}%
        \kern-1.\baselineskip%
        \nopagebreak[4]\mlf@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\pagebreak[1]\vspace*{-1ex}\afterminilof\fi}%
\def\minilot{\@ifnextchar[{\minilot@}{\minilot@[d]}}
\def\minilot@[#1]{%
\global\@minilot@used@true
\if@longextensions@%
\def\@tocfile{mlt\The@mtc}%
\else
\def\@tocfile{T\The@mtc}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@minilot@true
        \else
        \thispageminilotstyle
%%        \mtc@markboth{\uppercase{\mlttitle}}{\uppercase{\mlttitle}}%
        \beforeminilot
        \relax\begin{samepage}%
        \if #1e\let\do@mtilt\e@mti
        \else\if #1n\let\do@mtilt\n@mti
        \else\if #1c\let\do@mtilt\c@mti
        \else\if #1l\let\do@mtilt\l@mti
        \else\if #1r\let\do@mtilt\r@mti
        \else\if #1d\let\do@mtilt\df@mtilt
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\mlttitle}\if@mtc@FE \let\do@mtilt\e@mti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\mltfont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \ifx\mlt@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\mtifont\do@mtilt{\mtc@v\mlttitle}\\
        \end{tabular}%
      \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\mtifont\do@mtilt{\mtc@v\mlttitle}\\\hline
        \end{tabular}%
      \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\\mtc@BBR
        \leftmargin\mtcindent
        \rightmargin\mtcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{mtc@verse}%
        \@ifundefined{c@lotdepth}{}{\c@tocdepth=\c@minilotdepth}
        \ifnum\c@tocdepth<1\relax\c@tocdepth=1\fi
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{mlt@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \mlt@setform
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{mtc@verse}%
        \kern-1.\baselineskip%
        \nopagebreak[4]\mlt@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\pagebreak[1]\vspace*{-1ex}\afterminilot\fi}%
\def\l@xchapter{\@dottedtocline{\@M}{1em}{2.3em}}
\def\xchapter{xchapter}
\let\sv@chapter\@chapter
\def\@chapter[#1]#2{\sv@chapter[{#1}]{#2}\relax%
   \addcontentsline{lof}{xchapter}{#1}%
   \addcontentsline{lot}{xchapter}{#1}%
   \ignorespaces}
\let\mtc@schapter\@schapter
\def\@schapter{\addtocontents{toc}{\protect\chapterend}\mtc@schapter}
\def\@schapter{\addtocontents{@@@}{\protect\chapterbegin}\mtc@schapter}
\let\chapterbegin\relax
\let\chapterend\relax
\@ifundefined{chapter}%
   {\@ifundefined{section}%
      {}{\def\addstarredsection#1{\addst@rred{section}{#1}}}}%
   {\def\addstarredchapter#1{\addst@rred{chapter}{#1}}}
\@ifundefined{part}%
   {}{\def\addstarredpart#1{\addst@rred{part}{#1}}}
\def\@Undottedtocline#1#2#3#4#5{%
  \ifnum #1>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent #2\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima #3\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {\coffeefont #4}\nobreak
     \nobreak\null
     \par}%
  \fi}
\def\@Undottedtoclinep#1#2#3#4#5{%
  \ifnum #1>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent #2\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima #3\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {#4}\nobreak
        \hfill
     \nobreak\null
     \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
     \par}%
  \fi}
\newif\ifundottedmtc\undottedmtcfalse
\@ifundefined{chapter}{}{%
   \let\sv@minitoc@\minitoc@
   \def\minitoc@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
      \sv@minitoc@[#1]}}%
   \let\sv@minilof@\minilof@
   \def\minilof@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
      \sv@minilof@[#1]}}%
   \let\sv@minilot@\minilot@
   \def\minilot@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
      \sv@minilot@[#1]}}}
\@ifundefined{part}{}{%
   \let\sv@parttoc@\parttoc@
   \def\parttoc@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
      \sv@parttoc@[#1]}}%
   \let\sv@partlof@\partlof@
   \def\partlof@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
      \sv@partlof@[#1]}}%
   \let\sv@partlot@\partlot@
   \def\partlot@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
      \sv@partlot@[#1]}}}
\@ifundefined{chapter}{%
   \@ifundefined{section}{}{%
      \let\sv@secttoc@\secttoc@
      \def\secttoc@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
         \sv@secttoc@[#1]}}%
      \let\sv@sectlof@\sectlof@
      \def\sectlof@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
         \sv@sectlof@[#1]}}%
      \let\sv@sectlot@\sectlot@
      \def\sectlot@[#1]{{\ifundottedmtc\let\@dottedtocline\@Undottedtoclinep\fi
         \sv@sectlot@[#1]}}}}{}
\def\@dominitoc#1{{%
  \makeatletter
  \setcounter{mtc}{0}
  \MTC@next#1.toc\relax\\}\setcounter{mtc}{0}}
\def\dominitoc{\@ifnextchar[{\dominitoc@}{\dominitoc@[l]}}
\def\@dominilof#1{{%
  \makeatletter
  \setcounter{mtc}{0}
  \MLF@next#1.lof\relax\\}\setcounter{mtc}{0}}
\def\dominilof{\@ifnextchar[{\dominilof@}{\dominilof@[l]}}
\def\@dominilot#1{{%
  \makeatletter
  \setcounter{mtc}{0}
  \MLT@next#1.lot\relax\\}\setcounter{mtc}{0}}
\def\dominilot{\@ifnextchar[{\dominilot@}{\dominilot@[l]}}
\def\dominitoc@[#1]{%
\global\@dominitoc@used@true
\if #1e\let\df@mtitc\e@mti%
\else\if #1n\let\df@mtitc\n@mti%
\else\if #1c\let\df@mtitc\c@mti%
\else\if #1l\let\df@mtitc\l@mti%
\else\if #1r\let\df@mtitc\r@mti%
\fi\fi\fi\fi\fi%
\@@dominitoc}
\def\dominilof@[#1]{%
\global\@dominilof@used@true
\if #1e\let\df@mtilf\e@mti%
\else\if #1n\let\df@mtilf\n@mti%
\else\if #1c\let\df@mtilf\c@mti%
\else\if #1l\let\df@mtilf\l@mti%
\else\if #1r\let\df@mtilf\r@mti%
\fi\fi\fi\fi\fi%
\@@dominilof}
\def\dominilot@[#1]{%
\global\@dominilot@used@true
\if #1e\let\df@mtilt\e@mti%
\else\if #1n\let\df@mtilt\n@mti%
\else\if #1c\let\df@mtilt\c@mti%
\else\if #1l\let\df@mtilt\l@mti%
\else\if #1r\let\df@mtilt\r@mti%
\fi\fi\fi\fi\fi%
\@@dominilot}
\def\@@dominitoc{\@dominitoc{\jobname}\immediate\closeout\tf@mtc}
\def\@@dominilof{\@dominilof{\jobname}\immediate\closeout\tf@mtc}
\def\@@dominilot{\@dominilot{\jobname}\immediate\closeout\tf@mtc}
\def\MTC@next#1\relax#2\\{%
  \edef\MTC@list{#2}%
  \MTC@loop{#1}%
}
\def\MTC@toc{%
  \ifx\MTC@list\@empty\else\expandafter\MTC@explist\fi
}
\def\MTC@contentsline#1#2#3#4{% %%HO/BJ: 4 instead of 3 parameters
  \gdef\themtc{\arabic{mtc}}% %%HO: space removed
  \expandafter\ifx\csname #1\endcsname\chapter
    \stepcounter{mtc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.mtc\themtc\@gobble}%
      \def\mtcname{\jobname.mtc\themtc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.M\themtc\@gobble}%
      \def\mtcname{\jobname.M\themtc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\mtcname
  \fi
  \mtc@toks{\noexpand\leavevmode #2}%
  \expandafter\ifx\csname #1\endcsname\section
    \MTC@WriteContentsline{#1}{mtcS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subsection
    \MTC@WriteContentsline{#1}{mtcSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subsubsection
    \MTC@WriteContentsline{#1}{mtcSSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\paragraph
    \MTC@WriteContentsline{#1}{mtcP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subparagraph
    \MTC@WriteContentsline{#1}{mtcSP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\coffee
    \MTC@WriteCoffeeline{#1}{#3}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starchapter
    \stepcounter{mtc}%
    \if@longextensions@
      \PackageInfo{minitoc}%
         {Writing\space\jobname.mtc\themtc\@gobble}%
      \def\mtcname{\jobname.mtc\themtc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.M\themtc\@gobble}%
      \def\mtcname{\jobname.M\themtc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\mtcname
  \fi
  \expandafter\ifx\csname #1\endcsname\starsection
    \MTC@WriteContentsline{#1}{mtcS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubsection
    \MTC@WriteContentsline{#1}{mtcSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubsubsection
    \MTC@WriteContentsline{#1}{mtcSSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starparagraph
    \MTC@WriteContentsline{#1}{mtcP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubparagraph
    \MTC@WriteContentsline{#1}{mtcSP}{#3}{#4}%
  \fi
}
\def\MTC@explist{\expandafter\MTC@next\MTC@list\\}
\def\MTC@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1.\MessageBreak MINITOCS NOT PREPARED}%
    \expandafter\MTC@toc
  \else
    \PackageInfo{minitoc}{PREPARING MINITOCS FROM #1}%
    \expandafter\MTC@read
  \fi
}
\def\MTC@read{%
  \read\@inputcheck to\MTC@line
  \expandafter\MTC@test\MTC@line.....\MTC@% %%HO: . added
}%
%%HO/BJ: now patch \MTC@test,
%%HO/BJ: call \MTC@contentsline with 4 instead of 3 parameters
\long\def\MTC@test#1#2#3#4#5#6\MTC@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \MTC@contentsline{#2}{#3}{#4}{#5}%
    %%HO/BJ: 4. parameter added by Tony Roberts
    \let\mtc@string\relax
  \else\ifx#1\@input
    \edef\MTC@list{\MTC@list#2\relax}%
  \else\ifx#1\chapterend
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\chapterbegin
    \addtocounter{mtc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck
    \expandafter\MTC@toc
  \else
    \expandafter\MTC@read
  \fi
}%
\def\MLF@next#1\relax#2\\{%
  \edef\MLF@list{#2}%
  \MLF@loop{#1}}
\def\MLF@lof{%
  \ifx\MLF@list\@empty\else\expandafter\MLF@explist\fi}
\def\MLF@contentsline#1#2#3#4{% %%HO: added #4
  \gdef\themtc{\arabic{mtc}}% %%HO: space removed
  \expandafter\ifx\csname #1\endcsname\xchapter
    \stepcounter{mtc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.mlf\themtc\@gobble}
      \def\mlfname{\jobname.mlf\themtc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.F\themtc\@gobble}
      \def\mlfname{\jobname.F\themtc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\mlfname
  \fi
  \expandafter\ifx\csname #1\endcsname\figure
    \mtc@toks{\noexpand\leavevmode#2}%
    \MTC@WriteContentsline{#1}{mlf}{#3}{#4}%
  \fi
}
\def\MLF@explist{\expandafter\MLF@next\MLF@list\\}
\def\MLF@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1.\MessageBreak MINILOFS NOT PREPARED}%
    \expandafter\MLF@lof
  \else
    \PackageInfo{minitoc}%
       {PREPARING MINILOFS FROM #1}%
    \expandafter\MLF@read\fi}
\def\MLF@read{%
  \read\@inputcheck to\MLF@line
  \expandafter\MLF@test\MLF@line.....\MLF@% %%HO: . added
  }%
\long\def\MLF@test#1#2#3#4#5#6\MLF@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \MLF@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\MLF@list{\MLF@list#2\relax}%
  \else\ifx#1\chapterend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\chapterbegin
    \addtocounter{mtc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\MLF@lof
  \else\expandafter\MLF@read\fi}%
\def\MLT@next#1\relax#2\\{%
  \edef\MLT@list{#2}%
  \MLT@loop{#1}}
\def\MLT@lot{%
  \ifx\MLT@list\@empty\else\expandafter\MLT@explist\fi}
\def\MLT@contentsline#1#2#3#4{% %%HO: added #4
  \gdef\themtc{\arabic{mtc}}% %%HO: space removed
  \expandafter\ifx\csname #1\endcsname\xchapter
    \stepcounter{mtc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.mlt\themtc\@gobble}%
      \def\mltname{\jobname.mlt\themtc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.T\themtc\@gobble}%
      \def\mltname{\jobname.T\themtc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\mltname
  \fi
  \expandafter\ifx\csname #1\endcsname\table
    \mtc@toks{\noexpand\leavevmode#2}%
    \MTC@WriteContentsline{#1}{mlt}{#3}{#4}%
  \fi
}
\def\MLT@explist{\expandafter\MLT@next\MLT@list\\}
\def\MLT@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1.\MessageBreak MINILOTS NOT PREPARED}%
    \expandafter\MLT@lot
  \else
    \PackageInfo{minitoc}%
       {PREPARING MINILOTS FROM #1}%
    \expandafter\MLT@read\fi}
\def\MLT@read{%
  \read\@inputcheck to\MLT@line
  \expandafter\MLT@test\MLT@line.....\MLT@% %%HO: . added
  }%
\long\def\MLT@test#1#2#3#4#5#6\MLT@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \MLT@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\MLT@list{\MLT@list#2\relax}%
  \else\ifx#1\chapterend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\chapterbegin
    \addtocounter{mtc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\MLT@lot
  \else\expandafter\MLT@read\fi}%
}%
\def\mtc@dot{.}
\def\MTC@WriteContentsline#1#2#3#4{%
  \def\mtc@param{#4}%
   \immediate\write\tf@mtc{%
    {\string\reset@font
     \expandafter\string\csname #2font\endcsname
     \string\mtc@string
     \string\contentsline{#1}%
     {\the\mtc@toks}%
     {\string\reset@font
      \expandafter\string\csname #2font\endcsname
      \space #3%
     }%
     \ifx\mtc@dot\mtc@param
     \else
       {#4}% %%HO/BJ: #4 is hyperlink
     \fi
    }%
  }%
}
\def\MTC@WriteCoffeeline#1#2#3{%
  \immediate\write\tf@mtc{%
    {\string\reset@font
     \string\coffeefont
     \string\mtc@string
%% COFFEE \string\textbf{#1}%
     {\the\mtc@toks}%
     {\string\reset@font
      \string\coffeefont
      \space #3%
     }%
    }%
  }%
}
\AtBeginDocument{%
 \@ifundefined{c@lofdepth}{}%
   {\newcounter{partlofdepth}\setcounter{partlofdepth}{2}}%
 \@ifundefined{c@lotdepth}{}%
   {\newcounter{partlotdepth}\setcounter{partlotdepth}{2}}%
}
\@ifundefined{part}{}%
{%
\def\xpart{xpart}
\def\Thepart{\arabic{ptc}}
\def\firstpartis#1%
  {\PackageWarning{minitoc}%
     {*** \string\firstpartis \space is an obsolete command ***}%
     \@firstpartis@used@true}
\newcounter{ptc}
\setcounter{ptc}{0}
\newcommand{\adjustptc}[1][1]{\addtocounter{ptc}{#1}}
\def\decrementptc{\addtocounter{ptc}{-1}}
\def\incrementptc{\addtocounter{ptc}{+1}}
\def\theptc{\arabic{ptc}}
\newcounter{parttocdepth}
\setcounter{parttocdepth}{2}
\@ifundefined{chapter}%
   {\def\ptc@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}}%
   {\let\ptc@rule\relax}
\newlength\ptcindent
\@ifundefined{chapter}{\ptcindent=24\p@}{\ptcindent=\z@}
\@ifundefined{chapter}{%
   \def\ptcfont{\small\rmfamily\upshape\mdseries} % the parttoc
   \def\ptcSfont{\small\rmfamily\upshape\bfseries}% (sections)
   \let\ptcSSfont\ptcfont     % (subsections)
   \let\ptcSSSfont\ptcfont    % (subsubsections)
   \let\ptcPfont\ptcfont      % (paragraphs)
   \let\ptcSPfont\ptcfont     % (subparagraphs)
   \let\plffont\ptcfont       % (figures)
   \let\pltfont\ptcfont       % (tables)
   \def\ptifont{\Large\rmfamily\upshape\bfseries}% titles
}%
{%
   \def\ptcfont{\normalsize\rmfamily\upshape\mdseries} % the parttoc
   \def\ptcCfont{\normalsize\rmfamily\upshape\bfseries}% (chapters)
   \def\ptcSfont{\normalsize\rmfamily\upshape\mdseries}% (sections)
   \let\ptcSSfont\ptcfont     % (subsections)
   \let\ptcSSSfont\ptcfont    % (subsubsections)
   \let\ptcPfont\ptcfont      % (paragraphs)
   \let\ptcSPfont\ptcfont     % (subparagraphs)
   \let\plffont\ptcfont       % (figures)
   \let\pltfont\ptcfont       % (tables)
   \def\ptifont{\LARGE\rmfamily\upshape\bfseries}% titles
}
\@ifundefined{chapter}{%
\def\c@pti#1{\null\hfill #1\hfill\null}
\def\l@pti#1{\null #1\hfill\null}
\def\r@pti#1{\null\hfill #1\null}
\def\e@pti#1{\vspace{-\baselineskip}}
\def\n@pti#1{\vspace{-\baselineskip}}
}%
{%
\def\e@pti#1{\vspace{-\baselineskip}}
\def\n@pti#1{\vspace{-\baselineskip}}
\def\l@pti#1{\if@twocolumn
    \@topnewpage[\@makephead@l{#1}]%
    \else
    \@makephead@l{#1}%
    \@afterheading
    \fi}
\def\@makephead@l#1{%
    \vspace*{50\p@}%
    {\parindent \z@ \raggedright
     \ptifont
     #1\par
     \nobreak
     \vskip 40\p@
    }}
\def\r@pti#1{\if@twocolumn
    \@topnewpage[\@makephead@r{#1}]%
    \else
    \@makephead@r{#1}%
    \@afterheading
    \fi}
\def\@makephead@r#1{%
    \vspace*{50\p@}%
    {\parindent \z@ \raggedleft
     \ptifont
     #1\par
     \nobreak
     \vskip 40\p@
    }}
\def\c@pti#1{\if@twocolumn
    \@topnewpage[\@makephead@c{#1}]%
    \else
    \@makephead@c{#1}%
    \@afterheading
    \fi}
\def\@makephead@c#1{%
    \vspace*{50\p@}%
    {\parindent \z@ \centering
     \ptifont
     #1\par
     \nobreak
     \vskip 40\p@
    }}%
}
\let\do@ptitc\l@pti
\let\df@ptitc\l@pti
\let\do@ptilf\l@pti
\let\df@ptilf\l@pti
\let\do@ptilt\l@pti
\let\df@ptilt\l@pti
\def\ptc@verse{\let\\=\@centercr
  \list{}{\itemsep\z@
          \itemindent \z@
          \listparindent \itemindent
          \partopsep\z@
          \iftightmtc \parsep\z@ \fi
          \ifktightmtc \parskip\z@ \fi
          \topsep=1ex
          \leftmargin\ptcindent
          \rightmargin\leftmargin}\item[]}
\def\endptc@verse{\nopagebreak[4]\endlist}
\def\parttoc{\@ifnextchar[{\parttoc@}{\parttoc@[d]}}
\def\parttoc@[#1]{%
\global\@parttoc@used@true
\if@longextensions@%
\def\@tocfile{ptc\Thepart}%
\else
\def\@tocfile{P\Thepart}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@parttoc@true
        \else
        \beforeparttoc
        \@ifundefined{chapter}{}{%
        \global\let\mtc@markboth\markboth
        \global\let\@mkboth\markboth
        \thispageparttocstyle
        \mtc@markboth{\uppercase{\ptctitle}}{\uppercase{\ptctitle}}%
        }%
        \relax\begin{samepage}%
        \if #1e\let\do@ptitc\e@pti
        \else\if #1n\let\do@ptitc\n@pti
        \else\if #1c\let\do@ptitc\c@pti
        \else\if #1l\let\do@ptitc\l@pti
        \else\if #1r\let\do@ptitc\r@pti
        \else\if #1d\let\do@ptitc\df@ptitc
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\ptctitle}\if@mtc@FE \let\do@ptitc\e@pti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\ptcfont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \nopagebreak[4]%
        \ifx\ptc@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\ptifont\do@ptitc{\mtc@v\ptctitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\ptifont\do@ptitc{\mtc@v\ptctitle}\\\hline
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\*[-\baselineskip]\mtc@BBR
        \leftmargin\ptcindent
        \rightmargin\ptcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{ptc@verse}\c@tocdepth=\c@parttocdepth%
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{ptc@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@ifundefined{ptc@pgno}%
  {\let\l@chapter@SVPN\l@chapter%
    \def\l@chapter##1##2{\l@chapter@SVPN{##1}{\hbox{}}}}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \ptc@setform
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-1\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{ptc@verse}%
        \kern-1.\baselineskip%
        \nopagebreak[4]\ptc@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\@ifundefined{chapter}{\pagebreak[1]\vspace*{-1ex}}%
        \afterparttoc\fi}%
\def\partlof{\@ifnextchar[{\partlof@}{\partlof@[d]}}
\def\partlof@[#1]{%
\global\@partlof@used@true
\if@longextensions@%
\def\@tocfile{plf\Thepart}%
\else
\def\@tocfile{G\Thepart}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@partlof@true
        \else
        \beforepartlof
        \@ifundefined{chapter}{}{%
        \global\let\mtc@markboth\markboth
        \global\let\@mkboth\markboth
        \thispagepartlofstyle
        \mtc@markboth{\uppercase{\plftitle}}{\uppercase{\plftitle}}%
        }%
        \relax\begin{samepage}%
        \if #1e\let\do@ptilf\e@pti
        \else\if #1n\let\do@ptilf\n@pti
        \else\if #1c\let\do@ptilf\c@pti
        \else\if #1l\let\do@ptilf\l@pti
        \else\if #1r\let\do@ptilf\r@pti
        \else\if #1d\let\do@ptilf\df@ptilf
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\plftitle}\if@mtc@FE \let\do@ptilf\e@pti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\plffont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \ifx\plf@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\ptifont\do@ptilf{\mtc@v\plftitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\ptifont\do@ptilf{\mtc@v\plftitle}\\\hline
        \mtc@hstrut\\
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\*[-\baselineskip]\mtc@BBR
        \leftmargin\ptcindent
        \rightmargin\ptcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{ptc@verse}%
        \@ifundefined{c@lofdepth}{}{\c@tocdepth=\c@partlofdepth}
        \ifnum\c@tocdepth<1\relax\c@tocdepth=1\fi
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{plf@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \plf@setform
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-0\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{ptc@verse}%
        \kern-1.\baselineskip%
        \nopagebreak[4]\plf@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\@ifundefined{chapter}{\pagebreak[1]\vspace*{-1ex}}%
        \afterpartlof\fi}
\def\partlot{\@ifnextchar[{\partlot@}{\partlot@[d]}}
\def\partlot@[#1]{%
\global\@partlot@used@true
\if@longextensions@%
\def\@tocfile{plt\Thepart}%
\else
\def\@tocfile{U\Thepart}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@partlof@true
        \else
        \beforepartlot
        \@ifundefined{chapter}{}{%
        \global\let\mtc@markboth\markboth
        \global\let\@mkboth\markboth
        \thispagepartlotstyle
        \mtc@markboth{\uppercase{\plttitle}}{\uppercase{\plttitle}}%
        }%
        \relax\begin{samepage}%
        \if #1e\let\do@ptilt\e@pti
        \else\if #1n\let\do@ptilt\n@pti
        \else\if #1c\let\do@ptilt\c@pti
        \else\if #1l\let\do@ptilt\l@pti
        \else\if #1r\let\do@ptilt\r@pti
        \else\if #1d\let\do@ptilt\df@ptilt
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\plttitle}\if@mtc@FE \let\do@ptilt\e@pti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\pltfont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \ifx\plt@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\ptifont\do@ptilt{\mtc@v\plttitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\ptifont\do@ptilt{\mtc@v\plttitle}\\\hline
        \mtc@hstrut\\
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\*[-\baselineskip]\mtc@BBR
        \leftmargin\ptcindent
        \rightmargin\ptcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{ptc@verse}%
        \@ifundefined{c@lotdepth}{}{\c@tocdepth=\c@partlotdepth}
        \ifnum\c@tocdepth<1\relax\c@tocdepth=1\fi
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{plt@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \plt@setform
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-0\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{ptc@verse}%
        \kern-1.\baselineskip%
        \nopagebreak[4]\plt@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\@ifundefined{chapter}{\pagebreak[1]\vspace*{-1ex}}%
        \afterpartlot\fi}
\def\l@xpart{\@dottedtocline{\@M}{1.0em}{2.3em}}
\def\l@pchapter{\@dottedtocline{1}{1.0em}{2.3em}}
\def\l@psection{\@dottedtocline{2}{1.0em}{2.3em}}
\def\pchapter{pchapter}
\def\psection{psection}
\let\sv@part\mtc@svpart
\def\@part[#1]#2{\sv@part[{#1}]{#2}\relax
\addcontentsline{lof}{xpart}{#1}%
\addcontentsline{lot}{xpart}{#1}%
\addcontentsline{toc}{xpart}{#1}%
\stepcounter{ptc}}
\let\sv@spart\@spart
\def\@spart{\stepcounter{ptc}\sv@spart}
\let\ptc@spart\@spart
\def\@spart{\addtocontents{toc}{\protect\partend}\ptc@spart}
\def\@spart{\addtocontents{toc}{\protect\partbegin}\ptc@spart}
\let\partend\relax
\let\partbegin\relax
\def\@doparttoc#1{{%
  \makeatletter
  \setcounter{ptc}{0}%
  \PTC@next#1.toc\relax\\}\setcounter{ptc}{0}}%
\def\@dopartlof#1{{%
  \makeatletter
  \setcounter{ptc}{0}%
  \PLF@next#1.lof\relax\\}\setcounter{ptc}{0}}%
\def\@dopartlot#1{{%
  \makeatletter
  \setcounter{ptc}{0}%
  \PLT@next#1.lot\relax\\}\setcounter{ptc}{0}}%
\def\doparttoc{\@ifnextchar[{\doparttoc@}{\doparttoc@[l]}}
\def\dopartlof{\@ifnextchar[{\dopartlof@}{\dopartlof@[l]}}
\def\dopartlot{\@ifnextchar[{\dopartlot@}{\dopartlot@[l]}}
\def\doparttoc@[#1]{%
\global\@doparttoc@used@true
\if #1e\let\df@ptitc\e@pti%
\else\if #1n\let\df@ptitc\n@pti%
\else\if #1c\let\df@ptitc\c@pti%
\else\if #1l\let\df@ptitc\l@pti%
\else\if #1r\let\df@ptitc\r@pti%
\fi\fi\fi\fi\fi%
\@@doparttoc}
\def\dopartlof@[#1]{%
\global\@dopartlof@used@true
\if #1e\let\df@ptilf\e@pti%
\else\if #1n\let\df@ptilf\n@pti%
\else\if #1c\let\df@ptilf\c@pti%
\else\if #1l\let\df@ptilf\l@pti%
\else\if #1r\let\df@ptilf\r@pti%
\fi\fi\fi\fi\fi%
\@@dopartlof}
\def\dopartlot@[#1]{%
\global\@dopartlot@used@true
\if #1e\let\df@ptilt\e@pti%
\else\if #1n\let\df@ptilt\n@pti%
\else\if #1c\let\df@ptilt\c@pti%
\else\if #1l\let\df@ptilt\l@pti%
\else\if #1r\let\df@ptilt\r@pti%
\fi\fi\fi\fi\fi%
\@@dopartlot}
\def\@@doparttoc{\@doparttoc{\jobname}\immediate\closeout\tf@mtc}
\def\@@dopartlof{\@dopartlof{\jobname}\immediate\closeout\tf@mtc}
\def\@@dopartlot{\@dopartlot{\jobname}\immediate\closeout\tf@mtc}
\def\PTC@next#1\relax#2\\{%
  \edef\PTC@list{#2}%
  \PTC@loop{#1}}
\def\PTC@toc{%
  \ifx\PTC@list\@empty\else\expandafter\PTC@explist\fi}
\def\PTC@contentsline#1#2#3#4{% %%HO/DV: 4 instead of 3 parameters
  \expandafter\ifx\csname #1\endcsname\part
    \stepcounter{ptc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.ptc\theptc\@gobble}%
      \def\ptcname{\jobname.ptc\theptc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.P\theptc\@gobble}%
      \def\ptcname{\jobname.P\theptc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\ptcname
  \fi
  \expandafter\ifx\csname #1\endcsname\starpart\relax
    \stepcounter{ptc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.ptc\theptc}%
      \def\ptcname{\jobname.ptc\theptc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.P\theptc}%
      \def\ptcname{\jobname.P\theptc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\ptcname
  \fi
  \mtc@toks{\noexpand\leavevmode #2}%
  \expandafter\ifx\csname #1\endcsname\chapter
    \MTC@WriteContentsline{#1}{ptcC}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\pchapter
    \MTC@WriteContentsline{#1}{ptcC}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\section
    \MTC@WriteContentsline{#1}{ptcS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\coffee
    \MTC@WriteCoffeeline{#1}{#3}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subsection
    \MTC@WriteContentsline{#1}{ptcSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subsubsection
    \MTC@WriteContentsline{#1}{ptcSSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\paragraph
    \MTC@WriteContentsline{#1}{ptcP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subparagraph
    \MTC@WriteContentsline{#1}{ptcSP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starchapter
%%HO: the following line should be disabled: \stepcounter{ptc}%
    \MTC@WriteContentsline{#1}{ptcC}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsection
    \MTC@WriteContentsline{#1}{ptcS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubsection
    \MTC@WriteContentsline{#1}{ptcSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubsubsection
    \MTC@WriteContentsline{#1}{ptcSSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starparagraph
    \MTC@WriteContentsline{#1}{ptcP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubparagraph
    \MTC@WriteContentsline{#1}{ptcSP}{#3}{#4}%
  \fi
}
\def\PTC@explist{\expandafter\PTC@next\PTC@list\\}
\def\PTC@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1\MessageBreak PARTTOCS NOT PREPARED}%
    \expandafter\PTC@toc
  \else
    \PackageInfo{minitoc}%
       {PREPARING PARTTOCS FROM #1}%
    \expandafter\PTC@read\fi}
\def\PTC@read{%
  \read\@inputcheck to\PTC@line
  \expandafter\PTC@test\PTC@line.....\PTC@% %%HO: . added
  }%
%%HO/BJ: now patch \PTC@test,
%%HO/BJ: call \PTC@contentsline with 4 instead of 3 parameters
\long\def\PTC@test#1#2#3#4#5#6\PTC@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \PTC@contentsline{#2}{#3}{#4}{#5}%
    %%HO/DV: 4 instead of 3 parameters
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\PTC@list{\PTC@list#2\relax}%
  \else\ifx#1\partend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\partbegin
     \addtocounter{ptc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\PTC@toc
  \else\expandafter\PTC@read\fi}%
\def\PLF@next#1\relax#2\\{%
  \edef\PLF@list{#2}%
  \PLF@loop{#1}}
\def\PLF@lof{%
  \ifx\PLF@list\@empty\else\expandafter\PLF@explist\fi}
\def\PLF@contentsline#1#2#3#4{% %%HO: #4 added
  \expandafter\ifx\csname #1\endcsname\xpart
    \stepcounter{ptc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.plf\theptc}%
      \def\plfname{\jobname.plf\theptc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.G\theptc}%
      \def\plfname{\jobname.G\theptc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\plfname
  \fi
  \expandafter\ifx\csname #1\endcsname\figure
    \mtc@toks{\noexpand\leavevmode#2}%
    \MTC@WriteContentsline{#1}{plf}{#3}{#4}%
  \fi
}
\def\PLF@explist{\expandafter\PLF@next\PLF@list\\}
\def\PLF@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1\MessageBreak PARTLOFS NOT PREPARED}%
    \expandafter\PLF@lof
  \else
    \PackageInfo{minitoc}%
       {PREPARING PARTLOFS FROM #1}%
    \expandafter\PLF@read\fi}
\def\PLF@read{%
  \read\@inputcheck to\PLF@line
  \expandafter\PLF@test\PLF@line.....\PLF@% %%HO: . added
  }%
%%HO/BJ: now patch \PLF@test,
%%HO/BJ: call \PLF@contentsline with 4 instead of 3 parameters
\long\def\PLF@test#1#2#3#4#5#6\PLF@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \PLF@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\PLF@list{\PLF@list#2\relax}%
  \else\ifx#1\partend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\partbegin
     \addtocounter{ptc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\PLF@lof
  \else\expandafter\PLF@read\fi}%
\def\PLT@next#1\relax#2\\{%
  \edef\PLT@list{#2}%
  \PLT@loop{#1}}
\def\PLT@lot{%
  \ifx\PLT@list\@empty\else\expandafter\PLT@explist\fi}
\def\PLT@contentsline#1#2#3#4{% %%HO: #4 added
  \expandafter\ifx\csname #1\endcsname\xpart
    \stepcounter{ptc}%
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.plt\theptc}%
      \def\pltname{\jobname.plt\theptc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.U\theptc}%
      \def\pltname{\jobname.U\theptc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\pltname
  \fi
  \expandafter\ifx\csname #1\endcsname\table
    \mtc@toks{\noexpand\leavevmode#2}%
    \MTC@WriteContentsline{#1}{plt}{#3}{#4}%
  \fi
}
\def\PLT@explist{\expandafter\PLT@next\PLT@list\\}
\def\PLT@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1\MessageBreak PARTLOTS NOT PREPARED}%
    \expandafter\PLT@lot
  \else
    \PackageInfo{minitoc}%
       {PREPARING PARTLOTS FROM #1}%
    \expandafter\PLT@read\fi}
\def\PLT@read{%
  \read\@inputcheck to\PLT@line
  \expandafter\PLT@test\PLT@line.....\PLT@% %%HO: . added
  }%
%%HO/BJ: now patch \PLT@test,
%%HO/BJ: call \PLT@contentsline with 4 instead of 3 parameters
\long\def\PLT@test#1#2#3#4#5#6\PLT@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \PLT@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\PLT@list{\PLT@list#2\relax}%
  \else\ifx#1\partend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\partbegin
     \addtocounter{ptc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\PLT@lot
  \else\expandafter\PLT@read\fi}%
}%
\AtBeginDocument{%
 \@ifundefined{c@lofdepth}{}%
   {\newcounter{sectlofdepth}\setcounter{sectlofdepth}{2}}%
 \@ifundefined{c@lotdepth}{}%
   {\newcounter{sectlotdepth}\setcounter{sectlotdepth}{2}}%
}
\if@mtc@chapter@undef@
\if@mtc@section@def@
\def\firstsectionis#1%
  {\PackageWarning{minitoc}%
     {*** \string\firstsectionis \space is an obsolete command ***}%
     \@firstsectionis@used@true}
\newcounter{stc}\setcounter{stc}{0}%
\newcommand{\adjuststc}[1][1]{\addtocounter{stc}{#1}}%
\def\decrementstc{\addtocounter{stc}{-1}}%
\def\incrementstc{\addtocounter{stc}{+1}}%
\newcounter{secttocdepth}\setcounter{secttocdepth}{2}%
\def\stc@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}%
\newlength\stcindent \stcindent=24\p@
\def\stcfont{\small\rmfamily\upshape\mdseries}    % secttoc
\def\stcSSfont{\small\rmfamily\upshape\bfseries}  % (subsections)
\let\stcSSSfont\stcfont    % (subsubsections)
\let\stcPfont\stcfont      % (paragraphs)
\let\stcSPfont\stcfont     % (subparagraphs)
\let\slffont\stcfont       % sectlof (figures)
\let\sltfont\stcfont       % sectlot (tables)
\def\stifont{\large\rmfamily\upshape\bfseries}    % titles
\def\c@sti#1{\null\hfill #1\hfill\null}
\def\l@sti#1{\null #1\hfill\null}
\def\r@sti#1{\null\hfill #1\null}
\def\e@sti#1{\vspace{-\baselineskip}}
\def\n@sti#1{\vspace{-\baselineskip}}
\let\do@stitc\l@sti
\let\df@stitc\l@sti
\let\do@stilf\l@sti
\let\df@stilf\l@sti
\let\do@stilt\l@sti
\let\df@stilt\l@sti
\def\stc@verse{\let\\=\@centercr
  \list{}{\itemsep\z@
          \itemindent \z@
          \listparindent \itemindent
          \partopsep \z@
          \iftightmtc \parsep \z@ \fi
          \ifktightmtc \parskip \z@ \fi
          \topsep \z@
          \leftmargin\stcindent
          \rightmargin\leftmargin}\item[]}
\def\endstc@verse{\nopagebreak[4]\endlist}
\def\secttoc{\@ifnextchar[{\secttoc@}{\secttoc@[d]}}
\def\secttoc@[#1]{%
\global\@secttoc@used@true
\if@longextensions@%
\def\@tocfile{stc\thestc}%
\else
\def\@tocfile{S\thestc}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@secttoc@true
        \else
        \beforesecttoc
        \thispagesecttocstyle
%%      \mtc@markboth{\uppercase{\stctitle}}{\uppercase{\stctitle}}%
        \relax\begin{samepage}%
        \if #1e\let\do@stitc\e@sti
        \else\if #1n\let\do@stitc\n@sti
        \else\if #1c\let\do@stitc\c@sti
        \else\if #1l\let\do@stitc\l@sti
        \else\if #1r\let\do@stitc\r@sti
        \else\if #1d\let\do@stitc\df@stitc
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\stctitle}\if@mtc@FE \let\do@stitc\e@sti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\stcfont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \nopagebreak[4]%
        \ifx\stc@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\stifont\do@stitc{\mtc@v\stctitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\stifont\do@stitc{\mtc@v\stctitle}\\\hline
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\\mtc@BBR
        \leftmargin\stcindent
        \rightmargin\stcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{stc@verse}\c@tocdepth=\c@secttocdepth%
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \stc@setform%
  \@ifundefined{stc@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \stc@setform%
  \@input{\jobname.\@tocfile}
  \vspace{-1ex} \vspace{-\baselineskip}
  \leavevmode\mtc@strut
  \global\@nobreakfalse\endgroup
        \end{stc@verse}%
        \kern-1.\baselineskip%
        \nopagebreak[4]\stc@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\pagebreak[1]\vspace*{-1ex}\aftersecttoc\fi}%
\def\sectlof{\@ifnextchar[{\sectlof@}{\sectlof@[d]}}
\def\sectlof@[#1]{%
\global\@sectlof@used@true
\if@longextensions@%
\def\@tocfile{slf\thestc}%
\else
\def\@tocfile{H\thestc}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@sectlof@true
        \else
        \thispagesectlofstyle
%%        \mtc@markboth{\uppercase{\slftitle}}{\uppercase{\slftitle}}%
        \beforesectlof
        \relax\begin{samepage}%
        \if #1e\let\do@stilf\e@sti
        \else\if #1n\let\do@stilf\n@sti
        \else\if #1c\let\do@stilf\c@sti
        \else\if #1l\let\do@stilf\l@sti
        \else\if #1r\let\do@stilf\r@sti
        \else\if #1d\let\do@stilf\df@stilf
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\slftitle}\if@mtc@FE \let\do@stilf\e@sti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\slffont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \ifx\slf@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\stifont\do@stilf{\mtc@v\slftitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \mtc@hstrut
        \reset@font\stifont\do@stilf{\mtc@v\slftitle}\\\hline
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\\mtc@BBR
        \leftmargin\stcindent
        \rightmargin\stcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{stc@verse}%
        \@ifundefined{c@lofdepth}{}{\c@tocdepth=\c@sectlofdepth}
        \ifnum\c@tocdepth<1\relax\c@tocdepth=1\fi
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{slf@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
  \@fileswfalse\mtc@hook@beforeinputfile
  \slf@setform%
  \@input{\jobname.\@tocfile}
  \global\@nobreakfalse\endgroup
        \end{stc@verse}%
        \kern-0.\baselineskip% ABCD
        \nopagebreak[4]\slf@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\pagebreak[1]\vspace*{-1ex}\aftersectlof\fi}%
\def\sectlot{\@ifnextchar[{\sectlot@}{\sectlot@[d]}}
\def\sectlot@[#1]{%
\global\@sectlot@used@true
\if@longextensions@%
\def\@tocfile{slt\thestc}%
\else
\def\@tocfile{I\thestc}%
\fi
        \mtc@CkFile{\jobname.\@tocfile}
        \if@mtc@FE
        \PackageInfo{minitoc}%
           {\jobname.\@tocfile\space is empty}
        \@mtc@empty@sectlot@true
        \else
        \thispagesectlotstyle
%%      \mtc@markboth{\uppercase{\slttitle}}{\uppercase{\slttitle}}%
        \beforesectlot
        \relax\begin{samepage}%
        \if #1e\let\do@stilt\e@sti
        \else\if #1n\let\do@stilt\n@sti
        \else\if #1c\let\do@stilt\c@sti
        \else\if #1l\let\do@stilt\l@sti
        \else\if #1r\let\do@stilt\r@sti
        \else\if #1d\let\do@stilt\df@stilt
        \fi\fi\fi\fi\fi\fi
        \mtc@CkStr{\slttitle}\if@mtc@FE \let\do@stilt\e@sti\relax\fi
        \raggedright
        \parskip=\z@%
        \reset@font\sltfont%
        \parindent=\z@%
        \nopagebreak[4]%
        \kern-0.8\baselineskip\nopagebreak[4]%
        \par\noindent
        \ifx\slt@rule\relax
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \reset@font\stifont\do@stilt{\mtc@v\slttitle}\\
        \end{tabular}%
        \else
        \begin{tabular}{@{}p{\columnwidth}@{}}
        \mtc@hstrut
        \reset@font\stifont\do@stilt{\mtc@v\slttitle}\\\hline
        \end{tabular}%
        \fi
        \nopagebreak[4]\null\leavevmode\mtc@zrule\\\mtc@BBR
        \leftmargin\stcindent
        \rightmargin\stcindent
        \itemindent=\z@\labelwidth=\z@%
        \labelsep=\z@\listparindent=\z@%
        \begin{stc@verse}%
        \@ifundefined{c@lotdepth}{}{\c@tocdepth=\c@sectlotdepth}
        \ifnum\c@tocdepth<1\relax\c@tocdepth=1\fi
        \leavevmode\\\mtc@BBR
        \vskip -.5\baselineskip
\begingroup
  \makeatletter
  \@ifundefined{slt@pgno}%
  {\let\@dottedtocline\@undottedtocline}{}
   \gdef\thestc{\arabic{stc}}
  \@fileswfalse\mtc@hook@beforeinputfile
  \slt@setform%
  \@input{\jobname.\@tocfile}
  \global\@nobreakfalse\endgroup
        \end{stc@verse}%
        \kern-0.\baselineskip% ABCD
        \nopagebreak[4]\slt@rule\null\leavevmode\\%
        \vskip-1.0\baselineskip\mtc@zrule\end{samepage}%
        \par\pagebreak[1]\vspace*{-1ex}\aftersectlot\fi}%
\def\l@xsect{\@dottedtocline{\@M}{1.0em}{2.3em}}
\def\l@schapter{\@dottedtocline{1}{1.0em}{2.3em}}
\def\xsect{xsect}
\def\schapter{schapter}
\let\sv@sect\@sect
\gdef\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2=1
   \addcontentsline{lof}{xsect}{#7}%
   \addcontentsline{lot}{xsect}{#7}%
\fi
\sv@sect{#1}{#2}{#3}{#4}{#4}{#5}{#6}[{#7}]{#8}}
\def\@sect#1#2#3#4#5#6[#7]#8{
\expandafter
\ifx\csname #1\endcsname\section\relax
   \addcontentsline{lof}{xsect}{#7}%
   \addcontentsline{lot}{xsect}{#7}%
\fi
\ifx\csname #1\endcsname\starsection\relax
   \addcontentsline{lof}{xsect}{#7}%
   \addcontentsline{lot}{xsect}{#7}%
\fi
\ifnum #2>\c@secnumdepth
   \let\@svsec\@empty
\else
   \refstepcounter{#1}%
   \edef\@svsec{\csname the#1\endcsname\hskip 1em}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
   \begingroup #6\relax
      \@hangfrom{\hskip #3\relax\@svsec}%
         {\interlinepenalty \@M #8\par}%
   \endgroup
   \csname #1mark\endcsname{#7}\addcontentsline
   {toc}{#1}{\ifnum #2>\c@secnumdepth
             \else
             \protect\numberline{\csname the#1\endcsname}%
             \fi
             #7}%
\else
   \def\@svsechd{#6\hskip #3\relax
   \@svsec #8\csname #1mark\endcsname
   {#7}\addcontentsline
   {toc}{#1}{\ifnum #2>\c@secnumdepth
             \else
                \protect\numberline{\csname the#1\endcsname}
             \fi
   #7}}%
\fi
\@xsect{#5}}
\let\stc@ssect\@ssect
\def\@ssect{\addtocontents{toc}{\protect\sectend}\stc@ssect}
\def\@ssect{\addtocontents{toc}{\protect\sectbegin}\stc@ssect}
\let\sectend\relax
\let\sectbegin\relax
\def\@dosecttoc#1{{%
  \makeatletter
  \setcounter{stc}{0}
  \STC@next#1.toc\relax\\}\setcounter{stc}{0}}
\def\@dosectlof#1{{%
  \makeatletter
  \setcounter{stc}{0}
  \SLF@next#1.lof\relax\\}\setcounter{stc}{0}}
\def\@dosectlot#1{{%
  \makeatletter
  \setcounter{stc}{0}
  \SLT@next#1.lot\relax\\}\setcounter{stc}{0}}
\def\dosecttoc{\@ifnextchar[{\dosecttoc@}{\dosecttoc@[l]}}
\def\dosectlof{\@ifnextchar[{\dosectlof@}{\dosectlof@[l]}}
\def\dosectlot{\@ifnextchar[{\dosectlot@}{\dosectlot@[l]}}
\def\dosecttoc@[#1]{%
\global\@dosecttoc@used@true
\if #1e\let\df@stitc\e@sti%
\else\if #1n\let\df@stitc\n@sti%
\else\if #1c\let\df@stitc\c@sti%
\else\if #1l\let\df@stitc\l@sti%
\else\if #1r\let\df@stitc\r@sti%
\fi\fi\fi\fi\fi%
\@@dosecttoc}
\def\dosectlof@[#1]{%
\global\@dosectlof@used@true
\if #1e\let\df@stilf\e@sti%
\else\if #1n\let\df@stilf\n@sti%
\else\if #1c\let\df@stilf\c@sti%
\else\if #1l\let\df@stilf\l@sti%
\else\if #1r\let\df@stilf\r@sti%
\fi\fi\fi\fi\fi%
\@@dosectlof}
\def\dosectlot@[#1]{%
\global\@dosectlot@used@true
\if #1e\let\df@stilt\e@sti%
\else\if #1n\let\df@stilt\n@sti%
\else\if #1c\let\df@stilt\c@sti%
\else\if #1l\let\df@stilt\l@sti%
\else\if #1r\let\df@stilt\r@sti%
\fi\fi\fi\fi\fi%
\@@dosectlot}
\def\@@dosecttoc{\@dosecttoc{\jobname}\immediate\closeout\tf@mtc}
\def\@@dosectlof{\@dosectlof{\jobname}\immediate\closeout\tf@mtc}
\def\@@dosectlot{\@dosectlot{\jobname}\immediate\closeout\tf@mtc}
\def\STC@next#1\relax#2\\{%
  \edef\STC@list{#2}%
  \STC@loop{#1}}
\def\STC@toc{%
  \ifx\STC@list\@empty\else\expandafter\STC@explist\fi}
\def\STC@contentsline#1#2#3#4{% %%HO: #4 added
  \gdef\thestc{\arabic{stc}}% %%HO: space removed
  \expandafter\ifx\csname #1\endcsname\section
    \stepcounter{stc}%
%%    \def\thestc{\arabic{stc}} %% HO: removed
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.stc\thestc}%
      \def\stcname{\jobname.stc\thestc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.S\thestc}%
      \def\stcname{\jobname.S\thestc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\stcname
  \fi
  \mtc@toks{\noexpand\leavevmode #2}%
  \expandafter\ifx\csname #1\endcsname\coffee
    \MTC@WriteCoffeeline{#1}{#3}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subsection
    \MTC@WriteContentsline{#1}{stcSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subsubsection
    \MTC@WriteContentsline{#1}{stcSSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\paragraph
    \MTC@WriteContentsline{#1}{stcP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\subparagraph
    \MTC@WriteContentsline{#1}{stcSP}{#3}{#4}%
  \fi
  \ifx\csname #1\endcsname\starsection
    \stepcounter{stc}%
    \gdef\thestc{\arabic{stc}}
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.stc\thestc}%
      \def\stcname{\jobname.stc\thestc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.S\thestc}%
      \def\stcname{\jobname.S\thestc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\stcname
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubsection
    \MTC@WriteContentsline{#1}{stcSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubsubsection
    \MTC@WriteContentsline{#1}{stcSSS}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starparagraph
    \MTC@WriteContentsline{#1}{stcP}{#3}{#4}%
  \fi
  \expandafter\ifx\csname #1\endcsname\starsubparagraph
    \MTC@WriteContentsline{#1}{stcSP}{#3}{#4}%
  \fi
}
\def\STC@explist{\expandafter\STC@next\STC@list\\}
\def\STC@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1\MessageBreak SECTTOCS NOT PREPARED}%
    \expandafter\STC@toc
  \else
    \PackageInfo{minitoc}%
       {PREPARING SECTTOCS FROM #1}%
    \expandafter\STC@read\fi}
\def\STC@read{%
  \read\@inputcheck to\STC@line
  \expandafter\STC@test\STC@line.....\STC@% %%HO: . added
  }%
\long\def\STC@test#1#2#3#4#5#6\STC@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \STC@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\STC@list{\STC@list#2\relax}%
  \else\ifx#1\sectend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\sectbegin
     \addtocounter{stc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\STC@toc
  \else\expandafter\STC@read\fi}%
\def\SLF@next#1\relax#2\\{%
  \edef\SLF@list{#2}%
  \SLF@loop{#1}}
\def\SLF@lof{%
  \ifx\SLF@list\@empty\else\expandafter\SLF@explist\fi}
\def\SLF@contentsline#1#2#3#4{% %%HO: #4 added
  \gdef\thestc{\arabic{stc}}% %%HO: space removed
  \expandafter\ifx\csname #1\endcsname\xsect
    \stepcounter{stc}%
%%    \gdef\thestc{\arabic{stc}} %%HO: removed
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.slf\thestc}%
      \def\slfname{\jobname.slf\thestc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.H\thestc}%
      \def\slfname{\jobname.H\thestc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\slfname
  \fi
  \mtc@toks{\noexpand\leavevmode #2}%
  \expandafter\ifx\csname #1\endcsname\figure
    \MTC@WriteContentsline{#1}{slf}{#3}{#4}%
  \fi
}
\def\SLF@explist{\expandafter\SLF@next\SLF@list\\}
\def\SLF@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1\MessageBreak SECTLOFS NOT PREPARED}%
    \expandafter\SLF@lof
  \else
    \PackageInfo{minitoc}%
       {PREPARING SECTLOFS FROM #1}%
    \expandafter\SLF@read\fi}
\def\SLF@read{%
  \read\@inputcheck to\SLF@line
  \expandafter\SLF@test\SLF@line.....\SLF@% %%HO: . added
  }%
\long\def\SLF@test#1#2#3#4#5#6\SLF@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \SLF@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\SLF@list{\SLF@list#2\relax}%
  \else\ifx#1\sectend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\sectbegin
     \addtocounter{stc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\SLF@lof
  \else\expandafter\SLF@read\fi}%
\def\SLT@next#1\relax#2\\{%
  \edef\SLT@list{#2}%
  \SLT@loop{#1}}
\def\SLT@lot{%
  \ifx\SLT@list\@empty\else\expandafter\SLT@explist\fi}
\def\SLT@contentsline#1#2#3#4{% %%HO: #4 added
  \gdef\thestc{\arabic{stc}}% %%HO: space removed
  \expandafter\ifx\csname #1\endcsname\xsect
    \stepcounter{stc}%
%%    \gdef\thestc{\arabic{stc}} %%HO: removed
    \if@longextensions@%
      \PackageInfo{minitoc}%
         {Writing\space\jobname.slt\thestc}%
      \def\sltname{\jobname.slt\thestc}%
    \else
      \PackageInfo{minitoc}%
         {Writing\space\jobname.V\thestc}%
      \def\sltname{\jobname.V\thestc}%
    \fi
    \immediate\closeout\tf@mtc
    \immediate\openout\tf@mtc=\sltname
  \fi
  \mtc@toks{\noexpand\leavevmode #2}%
  \expandafter\ifx\csname #1\endcsname\table
    \MTC@WriteContentsline{#1}{slt}{#3}{#4}%
  \fi
}
\def\SLT@explist{\expandafter\SLT@next\SLT@list\\}
\def\SLT@loop#1{\openin\@inputcheck#1\relax
  \ifeof\@inputcheck
    \PackageWarning{minitoc}%
       {No file #1\MessageBreak SECTLOTS NOT PREPARED}%
    \expandafter\SLT@lot
  \else
    \PackageInfo{minitoc}%
       {PREPARING SECTLOTS FROM #1}%
    \expandafter\SLT@read\fi}
\def\SLT@read{%
  \read\@inputcheck to\SLT@line
  \expandafter\SLT@test\SLT@line.....\SLT@% %%HO: . added
  }%
\long\def\SLT@test#1#2#3#4#5#6\SLT@{% %%HO: #6 added
  \ifx#1\contentsline
    \let\mtc@string\string
    \SLT@contentsline{#2}{#3}{#4}{#5}% %%HO: #4 added
    \let\mtc@string\relax
  \else\ifx#1\@input
     \edef\SLT@list{\SLT@list#2\relax}%
  \else\ifx#1\sectend
     \immediate\closeout\tf@mtc
     \immediate\openout\tf@mtc=\jobname.mtc
  \else\ifx#1\sectbegin
     \addtocounter{stc}{-1}%
  \fi\fi\fi\fi
  \ifeof\@inputcheck\expandafter\SLT@lot
  \else\expandafter\SLT@read\fi}%
\fi% end of \if@mtc@section@def@
\fi% end of \if@mtc@chapter@undef@
\@ifundefined{section}{}{\let\l@listof\l@section}
\@ifundefined{chapter}{}{\let\l@listof\l@chapter}
\@ifundefined{part}{}{\let\l@starpart\l@part}
\@ifundefined{chapter}{}{\let\l@starchapter\l@chapter}
\@ifundefined{section}{}{\let\l@starsection\l@section}
\@ifundefined{subsection}{}{\let\l@starsubsection\l@subsection}
\@ifundefined{subsubsection}{}{\let\l@starsubsubsection\l@subsubsection}
\@ifundefined{paragraph}{}{\let\l@starparagraph\l@paragraph}
\@ifundefined{subparagraph}{}{\let\l@starsubparagraph\l@subparagraph}
\def\noptcrule{\let\ptc@rule\relax}
\def\nomtcrule{\let\mtc@rule\relax}
\def\nostcrule{\let\stc@rule\relax}
\def\ptcrule{\def\ptc@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\mtcrule{\def\mtc@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\stcrule{\def\stc@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\ptc@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\mtc@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\stc@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\noplfrule{\let\plf@rule\relax}
\def\nomlfrule{\let\mlf@rule\relax}
\def\noslfrule{\let\slf@rule\relax}
\def\plfrule{\def\plf@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\mlfrule{\def\mlf@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\slfrule{\def\slf@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\plf@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\mlf@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\slf@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\nopltrule{\let\plt@rule\relax}
\def\nomltrule{\let\mlt@rule\relax}
\def\nosltrule{\let\slt@rule\relax}
\def\pltrule{\def\plt@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\mltrule{\def\mlt@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\sltrule{\def\slt@rule{\kern-3\p@ \hrule width \columnwidth \kern2.6\p@}}
\def\plt@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\mlt@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\def\slt@rule{\rule[3\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}}
\@namedef{mtc@typetable@parttoc}{ptc}\def\mtc@typetable@parttoc{ptc}
\@namedef{mtc@typetable@partlot}{plt}\def\mtc@typetable@partlot{plf}
\@namedef{mtc@typetable@partlof}{plf}\def\mtc@typetable@partlof{plt}
\@namedef{mtc@typetable@minitoc}{mtc}\def\mtc@typetable@minitoc{mtc}
\@namedef{mtc@typetable@minilof}{mlf}\def\mtc@typetable@minilof{mlf}
\@namedef{mtc@typetable@minilot}{mlt}\def\mtc@typetable@minilot{mlt}
\@namedef{mtc@typetable@secttoc}{stc}\def\mtc@typetable@secttoc{stc}
\@namedef{mtc@typetable@sectlof}{slf}\def\mtc@typetable@sectlof{slf}
\@namedef{mtc@typetable@sectlot}{slt}\def\mtc@typetable@sectlot{slt}
\@namedef{mtc@typetitle@parttoc}{pti}\def\mtc@typetitle@parttoc{pti}
\@namedef{mtc@typetitle@partlof}{pti}\def\mtc@typetitle@partlof{pti}
\@namedef{mtc@typetitle@partlot}{pti}\def\mtc@typetitle@partlot{pti}
\@namedef{mtc@typetitle@minitoc}{mti}\def\mtc@typetitle@minitoc{mti}
\@namedef{mtc@typetitle@minilof}{mti}\def\mtc@typetitle@minilof{mti}
\@namedef{mtc@typetitle@minilot}{mti}\def\mtc@typetitle@minilot{mti}
\@namedef{mtc@typetitle@secttoc}{sti}\def\mtc@typetitle@secttoc{sti}
\@namedef{mtc@typetitle@sectlof}{sti}\def\mtc@typetitle@sectlof{sti}
\@namedef{mtc@typetitle@sectlot}{sti}\def\mtc@typetitle@sectlot{sti}
\@namedef{mtc@YN@off}{no}\def\mtc@YN@off{no}
\@namedef{mtc@YN@OFF}{no}\def\mtc@YN@OFF{no}
\@namedef{mtc@YN@no}{no}\def\mtc@YN@no{no}
\@namedef{mtc@YN@NO}{no}\def\mtc@YN@NO{no}
\@namedef{mtc@YN@n}{no}\def\mtc@YN@n{no}
\@namedef{mtc@YN@N}{no}\def\mtc@YN@N{no}
\@namedef{mtc@YN@false}{no}\def\mtc@YN@false{no}
\@namedef{mtc@YN@FALSE}{no}\def\mtc@YN@FALSE{no}
\@namedef{mtc@YN@faux}{no}\def\mtc@YN@faux{no}
\@namedef{mtc@YN@FAUX}{no}\def\mtc@YN@FAUX{no}
\@namedef{mtc@YN@f}{no}\def\mtc@YN@f{no}
\@namedef{mtc@YN@F}{no}\def\mtc@YN@F{no}
\@namedef{mtc@YN@NON}{no}\def\mtc@YN@NON{no}
\@namedef{mtc@YN@non}{no}\def\mtc@YN@non{no}
\@namedef{mtc@YN@0}{no}\expandafter\def\csname mtc@YN@0\endcsname{no}
\@namedef{mtc@YN@on}{}\def\mtc@YN@on{}
\@namedef{mtc@YN@ON}{}\def\mtc@YN@ON{}
\@namedef{mtc@YN@yes}{}\def\mtc@YN@yes{}
\@namedef{mtc@YN@YES}{}\def\mtc@YN@YES{}
\@namedef{mtc@YN@y}{}\def\mtc@YN@y{}
\@namedef{mtc@YN@Y}{}\def\mtc@YN@Y{}
\@namedef{mtc@YN@true}{}\def\mtc@YN@true{}
\@namedef{mtc@YN@TRUE}{}\def\mtc@YN@TRUE{}
\@namedef{mtc@YN@t}{}\def\mtc@YN@t{}
\@namedef{mtc@YN@T}{}\def\mtc@YN@T{}
\@namedef{mtc@YN@vrai}{}\def\mtc@YN@vrai{}
\@namedef{mtc@YN@VRAI}{}\def\mtc@YN@VRAI{}
\@namedef{mtc@YN@v}{}\def\mtc@YN@v{}
\@namedef{mtc@YN@V}{}\def\mtc@YN@TRUEV
\@namedef{mtc@YN@OUI}{}\def\mtc@YN@OUI{}
\@namedef{mtc@YN@oui}{}\def\mtc@YN@oui{}
\@namedef{mtc@YN@O}{}\def\mtc@YN@O{}
\@namedef{mtc@YN@o}{}\def\mtc@YN@o{}
\@namedef{mtc@YN@1}{}\expandafter\def\csname mtc@YN@1\endcsname{}
\@namedef{mtc@sectlevel@chapter}{C}\def\mtc@sectlevel@chapter{C}
\@namedef{mtc@sectlevel@section}{S}\def\mtc@sectlevel@section{S}
\@namedef{mtc@sectlevel@subsection}{SS}\def\mtc@sectlevel@subsection{SS}
\@namedef{mtc@sectlevel@subsubsection}{SSS}\def\mtc@sectlevel@subsubsection{SSS}
\@namedef{mtc@sectlevel@paragraph}{P}\def\mtc@sectlevel@paragraph{P}
\@namedef{mtc@sectlevel@subparagraph}{SP}\def\mtc@sectlevel@subparagraph{SP}
\@namedef{mtc@sectlevel@*}{}\expandafter\def\csname mtc@sectlevel@*\endcsname{}
\newif\if@mtc@setfont@\@mtc@setfont@true
\newcommand{\mtcsetfont}[3]{%
\def\mtc@mta@abbrev{X}
\@mtc@setfont@true
\expandafter\ifx\csname mtc@typetable@#1\endcsname\relax
   \@mtc@setfont@false
   \def\mtc@mta@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsetfont \space has a wrong first argument (#1).
       \MessageBreak
       It should be a mini-table type (parttoc...sectlot)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}
\else
   \edef\mtc@mta@abbrev{\@nameuse{mtc@typetable@#1}}
\fi
\def\mtc@level@abbrev{X}
\expandafter\ifx\csname mtc@sectlevel@#2\endcsname\relax
   \@mtc@setfont@false
   \def\mtc@level@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsetfont \space has a wrong second argument (#2).
       \MessageBreak
       It should be a sectionning level (part...subparagraph) or * }%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}
\else
   \edef\mtc@level@abbrev{\@nameuse{mtc@sectlevel@#2}}
\fi
\def\mtc@tmp@name{\mtc@mta@abbrev\mtc@level@abbrev font}
\expandafter\ifx\csname #1\endcsname\minitoc
   \expandafter\ifx\csname #2\endcsname\part\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\chapter\@mtc@setfont@false\fi
\fi
\expandafter\ifx\csname #1\endcsname\minilof
   \expandafter\ifx\csname #2\endcsname\part\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\chapter\@mtc@setfont@false\fi
\fi
\expandafter\ifx\csname #1\endcsname\minilot
   \expandafter\ifx\csname #2\endcsname\part\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\chapter\@mtc@setfont@false\fi
\fi
\expandafter\ifx\csname #1\endcsname\secttoc
   \expandafter\ifx\csname #2\endcsname\part\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\chapter\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\section\@mtc@setfont@false\fi
\fi
\expandafter\ifx\csname #1\endcsname\sectlof
   \expandafter\ifx\csname #2\endcsname\part\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\chapter\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\section\@mtc@setfont@false\fi
\fi
\expandafter\ifx\csname #1\endcsname\sectlot
   \expandafter\ifx\csname #2\endcsname\part\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\chapter\@mtc@setfont@false\fi
   \expandafter\ifx\csname #2\endcsname\section\@mtc@setfont@false\fi
\fi
\if@mtc@setfont@
   \def\mtc@tmp@name{\mtc@mta@abbrev\mtc@level@abbrev font}
   \mtc@toks{#3}
   \PackageInfo{minitoc}%
      {\string\mtcsetfont\space redefines the macro
        \mtc@tmp@name \space as "\the\mtc@toks"}
   \expandafter\def\csname\mtc@tmp@name\endcsname{#3}
\else
   \PackageError{minitoc}%
      {\string\mtcsetfont\space has incompatible\MessageBreak
       first (#1) and second (#2) arguments}{}
\fi
}
\newif\if@mtc@settitlefont@\@mtc@settitlefont@true
\newcommand{\mtcsettitlefont}[2]{%
\def\mtc@mtatf@abbrev{X}
\@mtc@settitlefont@true
\expandafter\ifx\csname mtc@typetitle@#1\endcsname\relax
   \@mtc@settitlefont@false
   \def\mtc@mtatf@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsettitlefont \space has a wrong first argument (#1).
       \MessageBreak
       It should be a mini-table type (parttoc...sectlot)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}
\else
   \edef\mtc@mtatf@abbrev{\@nameuse{mtc@typetitle@#1}}
\fi
\if@mtc@settitlefont@
   \def\mtc@tmptf@name{\mtc@mtatf@abbrev font}
   \mtc@toks{#2}
   \PackageInfo{minitoc}%
      {\string\mtcsettitlefont\space redefines the macro
       \mtc@tmptf@name \space as "\the\mtc@toks"}
   \expandafter\def\csname\mtc@tmptf@name\endcsname{#2}
\else
   \PackageError{minitoc}%
      {Illegal type of table (#1)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}{\relax}
\fi
}
\newif\if@mtc@settitle@\@mtc@settitle@true
\newcommand{\mtcsettitle}[2]{%
\def\mtc@mtati@abbrev{X}
\@mtc@settitle@true
\expandafter\ifx\csname mtc@typetable@#1\endcsname\relax
   \@mtc@settitle@false
   \def\mtc@mtati@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsettitle \space has a wrong first argument (#1).
       \MessageBreak
       It should be a mini-table type (parttoc...sectlot)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}
\else
   \edef\mtc@mtati@abbrev{\@nameuse{mtc@typetable@#1}}
\fi
\if@mtc@settitle@
   \def\mtc@tmpti@name{\mtc@mtati@abbrev title}
   \mtc@toks{#2}
   \PackageInfo{minitoc}%
      {\string\mtcsettitle\space redefines the macro
       \mtc@tmpti@name \space as "\the\mtc@toks"}
   \expandafter\def\csname\mtc@tmpti@name\endcsname{#2}
\else
   \PackageError{minitoc}%
      {Illegal type of table (#1)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}{\relax}
\fi
}
\@namedef{mtc@formatparam@dotinterval}{dotsep}%
\def\mtc@arg@dotinterval{dotsep}
\@namedef{mtc@formatparam@tocrightmargin}{tocrmarg}%
\def\mtc@arg@tocrightmargin{tocrightmargin}
\@namedef{mtc@formatparam@pagenumwidth}{pnumwidth}%
\def\mtc@arg@pagenumwidth{\mtc@arg@pagenumwidth}
%% \@namedef{mtc@arg@numwidth}{numwidth} %not yet available
%% \def\mtc@arg@numwidth{\mtc@arg@numwidth} %not yet available
\AtBeginDocument{%
\@ifundefined{ptcpnumwidth}{\let\ptcpnumwidth\@pnumwidth}{}%
\@ifundefined{stcpnumwidth}{\let\stcpnumwidth\@pnumwidth}{}%
\@ifundefined{mtcpnumwidth}{\let\mtcpnumwidth\@pnumwidth}{}%
\@ifundefined{plfpnumwidth}{\let\plfpnumwidth\@pnumwidth}{}%
\@ifundefined{mlfpnumwidth}{\let\mlfpnumwidth\@pnumwidth}{}%
\@ifundefined{slfpnumwidth}{\let\slfpnumwidth\@pnumwidth}{}%
\@ifundefined{pltpnumwidth}{\let\pltpnumwidth\@pnumwidth}{}%
\@ifundefined{mltpnumwidth}{\let\mltpnumwidth\@pnumwidth}{}%
\@ifundefined{sltpnumwidth}{\let\sltpnumwidth\@pnumwidth}{}%
\@ifundefined{ptctocrmarg}{\let\ptctocrmarg\@tocrmarg}{}%
\@ifundefined{mtctocrmarg}{\let\mtctocrmarg\@tocrmarg}{}%
\@ifundefined{stctocrmarg}{\let\stctocrmarg\@tocrmarg}{}%
\@ifundefined{plftocrmarg}{\let\plftocrmarg\@tocrmarg}{}%
\@ifundefined{mlftocrmarg}{\let\mlftocrmarg\@tocrmarg}{}%
\@ifundefined{slftocrmarg}{\let\slftocrmarg\@tocrmarg}{}%
\@ifundefined{plttocrmarg}{\let\plttocrmarg\@tocrmarg}{}%
\@ifundefined{mlttocrmarg}{\let\mlttocrmarg\@tocrmarg}{}%
\@ifundefined{slttocrmarg}{\let\slttocrmarg\@tocrmarg}{}%
\@ifundefined{ptcdotsep}{\let\ptcdotsep\@dotsep}{}%
\@ifundefined{mtcdotsep}{\let\mtcdotsep\@dotsep}{}%
\@ifundefined{stcdotsep}{\let\stcdotsep\@dotsep}{}%
\@ifundefined{plfdotsep}{\let\plfdotsep\@dotsep}{}%
\@ifundefined{mlfdotsep}{\let\mlfdotsep\@dotsep}{}%
\@ifundefined{slfdotsep}{\let\slfdotsep\@dotsep}{}%
\@ifundefined{pltdotsep}{\let\pltdotsep\@dotsep}{}%
\@ifundefined{mltdotsep}{\let\mltdotsep\@dotsep}{}%
\@ifundefined{sltdotsep}{\let\sltdotsep\@dotsep}{}%
}
\def\ptc@setform{%
\let\@pnumwidth\ptcpnumwidth\relax
\let\@tocrmarg\ptctocrmarg\relax
\let\@dotsep\ptcdotsep\relax
}
\def\mtc@setform{%
\let\@pnumwidth\mtcpnumwidth\relax
\let\@tocrmarg\mtctocrmarg\relax
\let\@dotsep\mtcdotsep\relax
}
\def\stc@setform{%
\let\@pnumwidth\stcpnumwidth\relax
\let\@tocrmarg\stctocrmarg\relax
\let\@dotsep\stcdotsep\relax
}
\def\plf@setform{%
\let\@pnumwidth\plfpnumwidth\relax
\let\@tocrmarg\plftocrmarg\relax
\let\@dotsep\plfdotsep\relax
}
\def\mlf@setform{%
\let\@pnumwidth\mlfpnumwidth\relax
\let\@tocrmarg\mlftocrmarg\relax
\let\@dotsep\mlfdotsep\relax
}
\def\slf@setform{%
\let\@pnumwidth\slfpnumwidth\relax
\let\@tocrmarg\slftocrmarg\relax
\let\@dotsep\slfdotsep\relax
}
\def\plt@setform{%
\let\@pnumwidth\pltpnumwidth\relax
\let\@tocrmarg\plttocrmarg\relax
\let\@dotsep\pltdotsep\relax
}
\def\mlt@setform{%
\let\@pnumwidth\plfpnumwidth\relax
\let\@tocrmarg\plftocrmarg\relax
\let\@dotsep\plfdotsep\relax
}
\def\slt@setform{%
\let\@pnumwidth\plfpnumwidth\relax
\let\@tocrmarg\plftocrmarg\relax
\let\@dotsep\plfdotsep\relax
}
\newif\if@mtc@setformat@\@mtc@setformat@true
\newcommand{\mtcsetformat}[3]{%
\def\mtc@mtf@abbrev{X}
\def\mtc@fparam@abbrev{X}
\@mtc@setformat@true
\expandafter\ifx\csname mtc@typetable@#1\endcsname\relax
  \@mtc@setformat@false
  \def\mtc@mtf@abbrev{X}
  \PackageError{minitoc}%
     {*** \string\mtcsetformat \space has a wrong first argument (#1).
     \MessageBreak
     It should be a mini-table type (parttoc...sectlot)}%
     {Correct the source code.\MessageBreak
      Type <return> and rerun LaTeX}
\else
  \edef\mtc@mtf@abbrev{\@nameuse{mtc@typetable@#1}}
\fi
\expandafter\ifx\csname mtc@formatparam@#2\endcsname\relax
 \@mtc@setformat@false
  \def\mtc@fparam@abbrev{X}
  \PackageError{minitoc}%
     {*** \string\mtcsetformat \space has a wrong second argument (#2).
      \MessageBreak
      It should be a formatting param
      (pagenumwidth, tocrightmargin, dotinterval)}%
     {Correct the source code.\MessageBreak
      Type <return> and rerun LaTeX}
\else
  \edef\mtc@fparam@abbrev{\@nameuse{mtc@formatparam@#2}}
\fi
\if@mtc@setformat@
  \def\mtc@tmpfm@name{\mtc@mtf@abbrev\mtc@fparam@abbrev}
  \PackageInfo{minitoc}%
     {\string\mtcsetformat\space redefines
      the macro \mtc@tmpfm@name \space as \string#3}
  \expandafter\def\csname\mtc@tmpfm@name\endcsname{#3}
\else
  \PackageError{minitoc}%
     {\string\mtcsetformat\space has incompatible
      \MessageBreak
      first (#1) and second (#2) arguments}{}
\fi
}
\newif\if@mtc@setpagenumbers@ \@mtc@setpagenumbers@false
\newif\if@mtc@spn@ok@
\newcommand{\mtcsetpagenumbers}[2]{%
\def\mtc@mttpn@abbrev{X}
\@mtc@setpagenumbers@true
\def\mtc@pnsw@abbrev{}
\expandafter\ifx\csname mtc@typetable@#1\endcsname\relax
   \@mtc@setpagenumbers@false
   \def\mtc@pnsw@abbrev{X}
   \def\mtc@mttpn@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsetpagenumbers \space has a wrong first argument (#1).}%
      {It should be a mini-table type (parttoc...sectlot)\MessageBreak
       Correct the source code, type <return> and rerun LaTeX}
\else
   \edef\mtc@mttpn@abbrev{\@nameuse{mtc@typetable@#1}}
\fi
\@mtc@spn@ok@true
\expandafter\ifx\csname mtc@YN@#2\endcsname\relax
   \@mtc@spn@ok@false
   \def\mtc@pnsw@abbrev{X}
   \def\mtc@mttpn@abbrev{X}
   \@mtc@setpagenumbers@false
   \def\mtc@mttpn@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsetpagenumbers \space has a wrong second argument (#2)}%
      {It should be a boolean value (0/1, yes/no, on/off\MessageBreak
       Correct the source code, type <return> and rerun LaTeX}
\else
   \edef\mtc@pnsw@abbrev{\@nameuse{mtc@YN@#2}}
   \def\mtc@pnsw@abbrevX{X}
   \def\mtc@noX{mtc@noX}
   \def\mtc@tmppn@name{\mtc@pnsw@abbrev\mtc@mttpn@abbrev pagenumbers}
   \expandafter\ifx\csname mtc@\mtc@pnsw@abbrev X\endcsname\mtc@noX
      \PackageInfo{minitoc}%
         {Page numbers are inhibited for the #1s}
   \else
      \PackageInfo{minitoc}%
         {Page numbers are activated for the #1s}
   \fi
   \csname\mtc@tmppn@name\endcsname{}
\fi
}
\newif\if@mtc@setrules@ \@mtc@setrules@false
\newif\if@mtc@sru@ok@
\newcommand{\mtcsetrules}[2]{%
\def\mtc@mttru@abbrev{X}
\@mtc@setrules@true
\def\mtc@rusw@abbrev{}
\expandafter\ifx\csname mtc@typetable@#1\endcsname\relax
   \@mtc@setrules@false
   \def\mtc@rusw@abbrev{X}
   \def\mtc@mttru@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsetrules \space has a wrong first argument (#1).}%
      {It should be a mini-table type (parttoc...sectlot)
       \MessageBreak
       Correct the source code, type <return> and rerun LaTeX}
\else
   \edef\mtc@mttru@abbrev{\@nameuse{mtc@typetable@#1}}
\fi
\@mtc@sru@ok@true
\expandafter\ifx\csname mtc@YN@#2\endcsname\relax
   \@mtc@sru@ok@false
   \def\mtc@rusw@abbrev{X}
   \def\mtc@mttru@abbrev{X}
   \@mtc@setrules@false
   \PackageError{minitoc}%
      {*** \string\mtcsetrules \space has a wrong second argument (#2)}%
      {It should be a boolean value (0/1, yes/no, on/off
       \MessageBreak
       Correct the source code, type <return> and rerun LaTeX}
\else
   \edef\mtc@rusw@abbrev{\@nameuse{mtc@YN@#2}}
   \def\mtc@rusw@abbrevX{X}
   \def\mtc@noX{mtc@noX}
   \def\mtc@tmppn@name{\mtc@rusw@abbrev\mtc@mttru@abbrev rule}
   \expandafter\ifx\csname mtc@\mtc@rusw@abbrev X\endcsname\mtc@noX
      \PackageInfo{minitoc}%
         {Horizontal rules are inhibited for the #1s}
   \else
      \PackageInfo{minitoc}%
         {Horizontal rules are activated for the #1s}
   \fi
   \csname\mtc@tmppn@name\endcsname{}
\fi
}
\@namedef{mtc@ltypetable@parttoc}{parttoc}\def\mtc@ltypetable@parttoc{parttoc}
\@namedef{mtc@ltypetable@partlot}{partlot}\def\mtc@ltypetable@partlot{partlot}
\@namedef{mtc@ltypetable@partlof}{partlof}\def\mtc@ltypetable@partlof{partlof}
\@namedef{mtc@ltypetable@minitoc}{minitoc}\def\mtc@ltypetable@minitoc{minitoc}
\@namedef{mtc@ltypetable@minilot}{minilot}\def\mtc@ltypetable@minilot{minilot}
\@namedef{mtc@ltypetable@minilof}{minilof}\def\mtc@ltypetable@minilof{minilof}
\@namedef{mtc@ltypetable@secttoc}{secttoc}\def\mtc@ltypetable@secttoc{secttoc}
\@namedef{mtc@ltypetable@sectlof}{sectlof}\def\mtc@ltypetable@sectlof{sectlof}
\@namedef{mtc@ltypetable@sectlot}{sectlot}\def\mtc@ltypetable@sectlot{sectlot}
\@namedef{mtc@featureparam@before}{before}%
   \def\mtc@featureparam@before{before}
\@namedef{mtc@featureparam@after}{after}%
   \def\mtc@featureparam@after{after}
\@namedef{mtc@featureparam@pagestyle}{thispage}%
   \def\mtc@featureparam@pagestyle{thispage}
\@namedef{mtc@ft3@before}{}\expandafter\def\csname mtc@ft3@before\endcsname{}
\@namedef{mtc@ft3@after}{}\expandafter\def\csname mtc@ft3@after\endcsname{}
\@namedef{mtc@ft3@pagestyle}{style}%
    \expandafter\def\csname mtc@ft3@pagestyle\endcsname{style}
\newif\if@mtc@setfeature@\@mtc@setfeature@true
\newcommand{\mtcsetfeature}[3]{%
\def\mtc@mtfeat@abbrev{X}
\def\mtc@featparam@abbrev{X}
\@mtc@setfeature@true
\expandafter\ifx\csname mtc@ltypetable@#1\endcsname\relax
  \@mtc@setfeature@false
  \def\mtc@mtfeat@abbrev{X}
  \PackageError{minitoc}%
     {*** \string\mtcsetfeature \space has a wrong first argument (#1).
      \MessageBreak
      It should be a mini-table type (parttoc...sectlot)}%
     {Correct the source code.\MessageBreak
      Type <return> and rerun LaTeX}
\else
  \edef\mtc@mtfeat@abbrev{\@nameuse{mtc@ltypetable@#1}}
\fi
\expandafter\ifx\csname mtc@featureparam@#2\endcsname\relax
 \@mtc@setfeature@false
  \def\mtc@featparam@abbrev{X}
  \def\mtc@featparam@third{X}
  \PackageError{minitoc}%
     {*** \string\mtcsetfeature \space has a wrong second argument (#2).
      \MessageBreak
      It should be a feature param (before, after, pagestyle)}%
     {Correct the source code.\MessageBreak
      Type <return> and rerun LaTeX}
\else
  \edef\mtc@featparam@abbrev{\@nameuse{mtc@featureparam@#2}}
  \edef\mtc@featparam@third{\@nameuse{mtc@ft3@#2}}
\fi
\if@mtc@setfeature@
  \def\mtc@tmpfeat@name%
     {\mtc@featparam@abbrev\mtc@mtfeat@abbrev\mtc@featparam@third}
  \PackageInfo{minitoc}%
     {\string\mtcsetfeature\space redefines the macro
      "\csname mtc@tmpfeat@name\endcsname" as "\string#3"}
  \expandafter\def\csname\mtc@tmpfeat@name\endcsname{#3}
\else
  \PackageError{minitoc}%
     {\string\mtcsetfeature\space has incompatible\MessageBreak
      first (#1) and second (#2) arguments}{}
\fi}
\newif\if@mtc@setdepth@\@mtc@setdepth@true
\newcommand{\mtcsetdepth}[2]{%
\def\mtc@mtade@abbrev{X}
\@mtc@setdepth@true
\expandafter\ifx\csname mtc@ltypetable@#1\endcsname\relax
   \@mtc@setdepth@false
   \def\mtc@mtade@abbrev{X}
   \PackageError{minitoc}%
      {*** \string\mtcsetdepth \space has a wrong first argument (#1).
       \MessageBreak
       It should be a mini-table type (parttoc...sectlot)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}
\else
   \edef\mtc@mtade@abbrev{\@nameuse{mtc@ltypetable@#1}}
\fi
\if@mtc@setdepth@
   \def\mtc@tmpde@name{\mtc@mtade@abbrev depth}
   \expandafter\noexpand\@ifundefined{c@\mtc@mtade@abbrev depth}%
      {\PackageError{minitoc}%
       {***  \string\mtcsetdepth \space attempt to use\MessageBreak
             an undefined counter (#1depth).}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}}{%
   \mtc@toks{#2} % trick for explicit message using \the.
   \PackageInfo{minitoc}%
      {\string\mtcsetdepth\space redefines the counter
       \mtc@tmpde@name \space as "\the\mtc@toks"}%
    \expandafter\setcounter{\mtc@tmpde@name}{#2}}%
\else
   \PackageError{minitoc}%
      {\string\mtcsetdepth:\space Illegal type of table (#1)}%
      {Correct the source code.\MessageBreak
       Type <return> and rerun LaTeX}{\relax}
\fi}% end of \mtcsettitle
\newif\if@mtc@Himtoc@ \@mtc@Himtoc@false
\newenvironment{mtchideinmaintoc}[1][-1]%
{\if@mtc@Himtoc@\PackageError{minitoc}%
    {Imbrication of mtchideinmaintoc environments}%
    {The hiding in main ToC could be incorrect}\fi
 \global\@mtc@Himtoc@true
 \def\mtc@sv@tocdepth{\arabic{tocdepth}}%
 \addtocontents{toc}{\protect\setcounter{tocdepth}{#1}}}%
{\if@mtc@Himtoc@\else\PackageError{minitoc}%
    {Unbalanced mtchideinmaintoc environment}%
    {The hiding in main ToC could be incorrect}\fi
 \global\@mtc@Himtoc@false
 \addtocontents{toc}{\protect\setcounter{tocdepth}{\mtc@sv@tocdepth}}}
\newif\if@mtc@Himlof@ \@mtc@Himlof@false
\AtBeginDocument{%
\@ifundefined{c@lofdepth}{%
   \newenvironment{mtchideinmainlof}[1][-1]%
   {\if@mtc@Himlof@\PackageError{minitoc}%
       {Imbrication of mtchideinmainlof environments}%
       {The hiding in main LoF could be incorrect}\fi
    \global\@mtc@Himlof@true
    \def\mtc@sv@tocdepth{\arabic{tocdepth}}%
    \def\mtc@sv@lofdepth{\arabic{tocdepth}}%
    \addtocontents{lof}{\protect\setcounter{tocdepth}{#1}}}%
   {\if@mtc@Himlof@\else\PackageError{minitoc}%
       {Unbalanced mtchideinmainlof environment}%
       {The hiding in main LoF could be incorrect}\fi
    \global\@mtc@Himtoc@false
    \addtocontents{lof}{\protect\setcounter{tocdepth}{\mtc@sv@lofdepth}}}
}%
{%
   \newenvironment{mtchideinmainlof}[1][-1]%
   {\if@mtc@Himlof@\PackageError{minitoc}%
       {Imbrication of mtchideinmainlof environments}%
       {The hiding in main LoF could be incorrect}\fi
    \global\@mtc@Himlof@true
    \def\mtc@svf@tocdepth{\arabic{tocdepth}}%
    \addtocontents{lof}{\protect\setcounter{tocdepth}{#1}}}%
   {\if@mtc@Himlof@\else\PackageError{minitoc}%
       {Unbalanced mtchideinmainlof environment}%
       {The hiding in main LoF could be incorrect}\fi
    \global\@mtc@Himlof@false
    \addtocontents{lof}{\protect\setcounter{tocdepth}{\mtc@svf@tocdepth}}}}}
\newif\if@mtc@Himlot@ \@mtc@Himlot@false
\AtBeginDocument{%
\@ifundefined{c@lotdepth}{%
   \newenvironment{mtchideinmainlot}[1][-1]%
   {\if@mtc@Himlot@\PackageError{minitoc}%
       {Imbrication of mtchideinmainlot environments}%
       {The hiding in main LoT could be incorrect}\fi
    \global\@mtc@Himlot@true
    \def\mtc@sv@tocdepth{\arabic{tocdepth}}%
    \def\mtc@sv@lotdepth{\arabic{tocdepth}}%
    \addtocontents{lot}{\protect\setcounter{tocdepth}{#1}}}%
   {\if@mtc@Himlot@\else\PackageError{minitoc}%
       {Unbalanced mtchideinmainlot environment}%
       {The hiding in main LoT could be incorrect}\fi
    \global\@mtc@Himlot@false
    \addtocontents{lot}{\protect\setcounter{tocdepth}{\mtc@sv@lotdepth}}}
}%
{%
   \newenvironment{mtchideinmainlot}[1][-1]%
   {\if@mtc@Himlot@\PackageError{minitoc}%
       {Imbrication of mtchideinmainlot environments}%
       {The hiding in main LoT could be incorrect}\fi
    \global\@mtc@Himlot@true
    \def\mtc@svt@tocdepth{\arabic{tocdepth}}%
    \addtocontents{lot}{\protect\setcounter{tocdepth}{#1}}}%
   {\if@mtc@Himlot@\else\PackageError{minitoc}%
       {Unbalanced mtchideinmainlot environment}%
       {The hiding in main LoT could be incorrect}\fi
    \global\@mtc@Himlot@false
    \addtocontents{lot}{\protect\setcounter{tocdepth}{\mtc@svt@tocdepth}}}}}
\@ifundefined{chapter}{%
   \@ifundefined{section}%
      {\PackageWarningNoLine{minitoc}%
       {\string\chapter\space and \string\section\space are undefined.%
        \MessageBreak Cannot use \string\mtcfixindex\space %
           without optional argument [part]}%
       \@ifundefined{part}%
         {\PackageError{minitoc}%
            {But \string\part\space is undefined}%
            {\string\mtcfixindex\space not usable}}%
       {\PackageWarningNoLine{minitoc}%
          {\string\mtcfixindex\space can only be used with the [part]
           optional argument, which becomes the default}%
        \def\mtc@ixfix@level{part}%
       }%
       {\def\mtc@ixfix@level{section}}}}%
{\def\mtc@ixfix@level{chapter}}
\newif\if@mtcfixindex@ \@mtcfixindex@false
\newcommand{\mtcfixindex}[1][\mtc@ixfix@level]{%
   \@mtcfixindex@false
   \expandafter%
    \ifx\csname #1\endcsname\part\relax\@mtcfixindex@true\fi
   \expandafter%
    \ifx\csname #1\endcsname\chapter\relax\@mtcfixindex@true\fi
   \expandafter%
    \ifx\csname #1\endcsname\section\relax\@mtcfixindex@true\fi
   \if@mtcfixindex@
   \addcontentsline{lof}{x\mtc@ixfix@level}{}%
   \addcontentsline{lot}{x\mtc@ixfix@level}{}%
   \csname mtcadd\mtc@ixfix@level\endcsname\relax
   \else
   \PackageError{minitoc}%
      {The optional argument of \string\mtcfixindex\space is wrong}%
      {It must be omitted (\mtc@ixfix@level),
       or be part, chapter or section}%
   \fi
}%
\@ifundefined{chapter}{%
   \@ifundefined{section}%
      {\PackageWarningNoLine{minitoc}%
       {\string\chapter\space and \string\section\space are undefined.%
        \MessageBreak Cannot use \string\mtcfixglossary\space %
           without optional argument [part]}%
       \@ifundefined{part}%
         {\PackageError{minitoc}%
            {But \string\part\space is undefined}%
            {\string\mtcfixglossary\space not usable}}%
       {\PackageWarningNoLine{minitoc}%
          {\string\mtcfixglossary\space can only be used with the [part]
           optional argument, which becomes the default}%
        \def\mtc@glofix@level{part}%
       }%
       {\def\mtc@glofix@level{section}}}}%
{\def\mtc@glofix@level{chapter}}
\newif\if@mtcfixglossary@ \@mtcfixglossary@false
\newcommand{\mtcfixglossary}[1][\mtc@glofix@level]{%
   \@mtcfixglossary@false
   \expandafter%
    \ifx\csname #1\endcsname\part\relax\@mtcfixglossary@true\fi
   \expandafter%
    \ifx\csname #1\endcsname\chapter\relax\@mtcfixglossary@true\fi
   \expandafter%
    \ifx\csname #1\endcsname\section\relax\@mtcfixglossary@true\fi
   \if@mtcfixglossary@
   \addcontentsline{lof}{x\mtc@glofix@level}{}%
   \addcontentsline{lot}{x\mtc@glofix@level}{}%
   \csname mtcadd\mtc@glofix@level\endcsname\relax
   \else
   \PackageError{minitoc}%
      {The optional argument of \string\mtcfixglossary\space is wrong}%
      {It must be omitted (\mtc@glofix@level),
       or be part, chapter or section}%
   \fi
}%
\newif\if@mtc@insellang@ \@mtc@insellang@false
\def\mtcselectlanguage#1{%
     \InputIfFileExists{#1.mld}%
       {\PackageInfo{minitoc}{#1 language selected.%
         \MessageBreak}}%
       {\PackageError{minitoc}%
          {#1 is not a known language, \MessageBreak
           #1.mld not found. \MessageBreak
           Command ignored}%
          {See the minitoc documentation. \MessageBreak
           Correct the source using a valid language name. \MessageBreak
           Press RETURN}}%
}
\def\mtcloadmlo#1{%
     \if@mtc@insellang@
     \InputIfFileExists{#1.mlo}%
       {\PackageInfo{minitoc}{#1 minitoc language object selected.%
         \MessageBreak}}%
       {\PackageError{minitoc}%
          {#1 is not a known minitoc language object file (.mlo), \MessageBreak
           #1.mlo not found. \MessageBreak
           Command ignored}%
          {See the minitoc documentation. \MessageBreak
           Correct the source using a valid language name. \MessageBreak
           Press RETURN}}%
     \else
       \PackageError{minitoc}%
           {You are using the \string\mtcloadmlo\space command\MessageBreak
            outside of a .mld file}%
           {It will be ignored}
       \@mtc@insellang@false
     \fi
}
\def\addcoffeeline#1#2#3{%
  \addtocontents{#1}{\protect\coffeeline{#2}{#3}{\null}}}
\def\coffeeline#1{\csname l@#1\endcsname}
\newcommand*\l@coffee{\@Undottedtocline{1}{1.5em}{2.3em}}
\AtBeginDocument{%
\@ifundefined{c@ptc}{}{\setcounter{ptc}{0}}
\@ifundefined{c@mtc}{}{\setcounter{mtc}{0}}
\@ifundefined{c@stc}{}{\setcounter{stc}{0}}}
\DeclareOption{tight}{\tightmtctrue}
\DeclareOption{loose}{\tightmtcfalse} % default
\DeclareOption{k-tight}{\ktightmtctrue}
\DeclareOption{k-loose}{\ktightmtcfalse} % default
\DeclareOption{checkfiles}{\@mtc@checkfilestrue} % default
\DeclareOption{nocheckfiles}{\@mtc@checkfilesfalse}
\DeclareOption{undotted}{\undottedmtctrue}
\DeclareOption{dotted}{\undottedmtcfalse} % default
\DeclareOption{notoccite}{\@mtc@notoccite@true}
\DeclareOption{shortext}{\@longextensions@false
\PackageWarningNoLine{minitoc}%
   {*** You have forced the use of short extensions ***}}
\newif\if@mtc@ss@insection@ \@mtc@ss@insection@false
\@ifundefined{chapter}{%
   \@ifundefined{section}{}%
                         {%
                          \DeclareOption{insection}%
                           {\@mtc@ss@insection@true}%
                         }%
}{}
\DeclareOption{acadian}{\mtcselectlanguage{acadian}}%
\DeclareOption{acadien}{\mtcselectlanguage{acadien}}%
\DeclareOption{afrikaan}{\mtcselectlanguage{afrikaan}}%
\DeclareOption{afrikaans}{\mtcselectlanguage{afrikaans}}%
\DeclareOption{american}{\mtcselectlanguage{american}}%
\DeclareOption{arab}{\mtcselectlanguage{arab}}%
\DeclareOption{arabic}{\mtcselectlanguage{arabic}}%
\DeclareOption{armenian}{\mtcselectlanguage{armenian}}%
\DeclareOption{austrian}{\mtcselectlanguage{austrian}}%
\DeclareOption{bahasa}{\mtcselectlanguage{bahasa}}%
\DeclareOption{bangla}{\mtcselectlanguage{bangla}}%
\DeclareOption{basque}{\mtcselectlanguage{basque}}%
\DeclareOption{bicig}{\mtcselectlanguage{bicig}}%
\DeclareOption{brazil}{\mtcselectlanguage{brazil}}%
\DeclareOption{brazilian}{\mtcselectlanguage{brazilian}}%
\DeclareOption{breton}{\mtcselectlanguage{breton}}%
\DeclareOption{british}{\mtcselectlanguage{british}}%
\DeclareOption{bulgarian}{\mtcselectlanguage{bulgarian}}%
\DeclareOption{bulgarianb}{\mtcselectlanguage{bulgarianb}}%
\DeclareOption{buryat}{\mtcselectlanguage{buryat}}%
\DeclareOption{canadian}{\mtcselectlanguage{canadian}}%
\DeclareOption{canadien}{\mtcselectlanguage{canadien}}%
\DeclareOption{castillan}{\mtcselectlanguage{castillan}}%
\DeclareOption{castillian}{\mtcselectlanguage{castillian}}%
\DeclareOption{catalan}{\mtcselectlanguage{catalan}}%
\DeclareOption{chinese1}{\mtcselectlanguage{chinese1}}%
\DeclareOption{chinese2}{\mtcselectlanguage{chinese2}}%
\DeclareOption{croatian}{\mtcselectlanguage{croatian}}%
\DeclareOption{czech}{\mtcselectlanguage{czech}}%
\DeclareOption{danish}{\mtcselectlanguage{danish}}%
\DeclareOption{dutch}{\mtcselectlanguage{dutch}}%
\DeclareOption{english}{\mtcselectlanguage{english}}%
\DeclareOption{esperant}{\mtcselectlanguage{esperant}}%
\DeclareOption{esperanto}{\mtcselectlanguage{esperanto}}%
\DeclareOption{estonian}{\mtcselectlanguage{estonian}}%
\DeclareOption{ethiopia}{\mtcselectlanguage{ethiopia}}%
\DeclareOption{ethiopian}{\mtcselectlanguage{ethiopian}}%
\DeclareOption{farsi1}{\mtcselectlanguage{farsi1}}%
\DeclareOption{farsi2}{\mtcselectlanguage{farsi2}}%
\DeclareOption{finnish}{\mtcselectlanguage{finnish}}%
\DeclareOption{finnish2}{\mtcselectlanguage{finnish2}}%
\DeclareOption{francais}{\mtcselectlanguage{francais}}%
\DeclareOption{french}{\mtcselectlanguage{french}}%
\DeclareOption{frenchb}{\mtcselectlanguage{frenchb}}%
\DeclareOption{frenchle}{\mtcselectlanguage{frenchle}}%
\DeclareOption{frenchpro}{\mtcselectlanguage{frenchpro}}%
\DeclareOption{galician}{\mtcselectlanguage{galician}}%
\DeclareOption{german}{\mtcselectlanguage{german}}%
\DeclareOption{germanb}{\mtcselectlanguage{germanb}}%
\DeclareOption{greek}{\mtcselectlanguage{greek}}%
\DeclareOption{greek-mono}{\mtcselectlanguage{greek-mono}}%
\DeclareOption{greek-polydemo}{\mtcselectlanguage{greek-polydemo}}%
\DeclareOption{greek-polykatha}{\mtcselectlanguage{greek-polykatha}}%
\DeclareOption{guarani}{\mtcselectlanguage{guarani}}%
\DeclareOption{hangul1}{\mtcselectlanguage{hangul1}}%
\DeclareOption{hangul2}{\mtcselectlanguage{hangul2}}%
\DeclareOption{hangul3}{\mtcselectlanguage{hangul3}}%
\DeclareOption{hangul4}{\mtcselectlanguage{hangul4}}%
\DeclareOption{hanja1}{\mtcselectlanguage{hanja1}}%
\DeclareOption{hanja2}{\mtcselectlanguage{hanja2}}%
\DeclareOption{hebrew}{\mtcselectlanguage{hebrew}}%
\DeclareOption{hungarian}{\mtcselectlanguage{hungarian}}%
\DeclareOption{icelandic}{\mtcselectlanguage{icelandic}}%
\DeclareOption{interlingua}{\mtcselectlanguage{interlingua}}%
\DeclareOption{irish}{\mtcselectlanguage{irish}}%
\DeclareOption{italian}{\mtcselectlanguage{italian}}%
\DeclareOption{japanese}{\mtcselectlanguage{japanese}}%
\DeclareOption{japanese2}{\mtcselectlanguage{japanese2}}%
\DeclareOption{japanese3}{\mtcselectlanguage{japanese3}}%
\DeclareOption{japanese4}{\mtcselectlanguage{japanese4}}%
\DeclareOption{japanese5}{\mtcselectlanguage{japanese5}}%
\DeclareOption{latin}{\mtcselectlanguage{latin}}%
\DeclareOption{latin2}{\mtcselectlanguage{latin2}}%
\DeclareOption{latvian}{\mtcselectlanguage{latvian}}%
\DeclareOption{letton}{\mtcselectlanguage{letton}}%
\DeclareOption{lithuanian}{\mtcselectlanguage{lithuanian}}%
\DeclareOption{lsorbian}{\mtcselectlanguage{lsorbian}}%
\DeclareOption{magyar}{\mtcselectlanguage{magyar}}%
\DeclareOption{magyar2}{\mtcselectlanguage{magyar2}}%
\DeclareOption{malayalam-keli}{\mtcselectlanguage{malayalam-keli}}%
\DeclareOption{malayalam-rachana}{\mtcselectlanguage{malayalam-rachana}}%
\DeclareOption{malayalam-rachana2}{\mtcselectlanguage{malayalam-rachana2}}%
\DeclareOption{mongol}{\mtcselectlanguage{mongol}}%
\DeclareOption{naustrian}{\mtcselectlanguage{naustrian}}%
\DeclareOption{ngerman}{\mtcselectlanguage{ngerman}}%
\DeclareOption{ngermanb}{\mtcselectlanguage{ngermanb}}%
\DeclareOption{norsk}{\mtcselectlanguage{norsk}}%
\DeclareOption{nynorsk}{\mtcselectlanguage{nynorsk}}%
\DeclareOption{polish}{\mtcselectlanguage{polish}}%
\DeclareOption{polish2}{\mtcselectlanguage{polish2}}%
\DeclareOption{portuges}{\mtcselectlanguage{portuges}}%
\DeclareOption{portuguese}{\mtcselectlanguage{portuguese}}%
\DeclareOption{romanian}{\mtcselectlanguage{romanian}}%
\DeclareOption{russian}{\mtcselectlanguage{russian}}%
\DeclareOption{russianb}{\mtcselectlanguage{russianb}}%
\DeclareOption{russianc}{\mtcselectlanguage{russianc}}%
\DeclareOption{russian2m}{\mtcselectlanguage{russian2m}}%
\DeclareOption{russian2o}{\mtcselectlanguage{russian2o}}%
\DeclareOption{samin}{\mtcselectlanguage{samin}}%
\DeclareOption{scottish}{\mtcselectlanguage{scottish}}%
\DeclareOption{serbian}{\mtcselectlanguage{serbian}}%
\DeclareOption{serbianc}{\mtcselectlanguage{serbianc}}%
\DeclareOption{slovak}{\mtcselectlanguage{slovak}}%
\DeclareOption{slovene}{\mtcselectlanguage{slovene}}%
\DeclareOption{spanish}{\mtcselectlanguage{spanish}}%
\DeclareOption{spanish2}{\mtcselectlanguage{spanish2}}%
\DeclareOption{spanish3}{\mtcselectlanguage{spanish3}}%
\DeclareOption{swedish}{\mtcselectlanguage{swedish}}%
\DeclareOption{thai}{\mtcselectlanguage{thai}}%
\DeclareOption{turkish}{\mtcselectlanguage{turkish}}%
\DeclareOption{UKenglish}{\mtcselectlanguage{UKenglish}}%
\DeclareOption{ukraineb}{\mtcselectlanguage{ukraineb}}%
\DeclareOption{USenglish}{\mtcselectlanguage{USenglish}}%
\DeclareOption{usorbian}{\mtcselectlanguage{usorbian}}%
\DeclareOption{vietnam}{\mtcselectlanguage{vietnam}}%
\DeclareOption{vietnamese}{\mtcselectlanguage{vietnamese}}%
\DeclareOption{welsh}{\mtcselectlanguage{welsh}}%
\newif\if@mtc@hints@ \@mtc@hints@true
\newif\if@mtc@hints@w@ \@mtc@hints@w@false
\newif\if@mtc@hints@given@ \@mtc@hints@given@false
\DeclareOption{hints}{\@mtc@hints@true}
\DeclareOption{nohints}{\@mtc@hints@false}
\def\mtc@hints@begindoc{%
\PackageInfo{minitoc(hints)}%
   {***** You requested the hints option *****\MessageBreak
    ***** Some hints are eventually given below *****\@gobble}%
\@ifpackageloaded{appendix}{%
\@mtc@hints@given@true
\PackageInfo{minitoc(hints)}%
   {--- The appendix package is loaded. \MessageBreak
    See the minitoc package documentation\MessageBreak
    for specific precautions\@gobble}}{}%
\@ifpackageloaded{tocbibind}%
   {\@mtc@hints@given@true
   \PackageInfo{minitoc(hints)}%
      {--- The tocbibind package is loaded. \MessageBreak
       See the minitoc package documentation
       for specific precautions\@gobble}}{}%
\@ifpackageloaded{tocloft}%
   {\@mtc@hints@given@true
    \PackageInfo{minitoc(hints)}%
       {--- The tocloft package is loaded. \MessageBreak
        See the minitoc package documentation
        for specific precautions\@gobble}}{}%
\@ifpackageloaded{titletoc}%
   {\@mtc@hints@given@true
    \PackageWarningNoLine{minitoc(hints)}%
       {--- The titletoc package is loaded. \MessageBreak
        It is incompatible with the minitoc package}}{}%
\@ifpackageloaded{placeins}%
   {\if@mtc@ss@insection@
    \@ifpackagewith{placeins}{section,below}{}%
       {\@mtc@hints@given@true
        \PackageWarningNoLine{minitoc(hints)}%
           {--- The placeins package is loaded without
            \MessageBreak
            section and below options, but minitoc used
            \MessageBreak
            the insection option which implies them.
            \MessageBreak
            Try to inverse the loading order and use coherent options.
            \MessageBreak
            You may have got a message
              ! LaTeX Error: Option clash for package placeins}%
       }%
    \fi
   \@ifpackagelater{placeins}{2005/04/18}{}{%
      \@mtc@hints@given@true
      \PackageWarningNoLine{minitoc(hints)}%
 {--- The placeins package loaded is
  \MessageBreak
  too old. It should have a version date of
  \MessageBreak
  2005/04/18 at least}%
   }%
   }{}%
\@ifclassloaded{memoir}%
   {\@mtc@hints@given@true
    \PackageInfo{minitoc(hints)}%
       {--- The memoir class is loaded. \MessageBreak
        See the minitoc package documentation for specific precautions\@gobble}{}%
   }{}%
\@ifclassloaded{amsart}%
   {\@mtc@hints@given@true
    \PackageWarningNoLine{minitoc(hints)}%
       {--- The amsart class is loaded. \MessageBreak
        It is incompatible with the minitoc package}}{}%
\@ifclassloaded{amsproc}%
   {\@mtc@hints@given@true
    \PackageWarningNoLine{minitoc(hints)}%
       {--- The amsproc class is loaded. \MessageBreak
        It is incompatible with the minitoc package}}{}%
\@ifclassloaded{amsbook}%
   {\@mtc@hints@given@true
    \PackageInfo{minitoc(hints)}%
       {--- The amsbook class is loaded. \MessageBreak
        See the minitoc package documentation for specific precautions\@gobble}{}%
   }{}%
\@ifpackageloaded{abstract}%
   {\@mtc@abstract@loaded@true%
   \@ifpackagewith{abstract}{addtotoc}%
      {\@mtc@hints@given@true
       \PackageInfo{minitoc(hints)}%
          {The ``abstract'' package has been loaded with\MessageBreak
           the ``addtotoc'' option.\MessageBreak
           You need to look at the documentation to adjust.}
      }}{}
\@mtc@hints@w@false
\@ifundefined{part}{}{\ifx\part\mtc@hints@part\relax
   \else\@mtc@hints@w@true\fi}
\@ifundefined{part}{}{\ifx\@part\mtc@hints@@part\relax
   \else\@mtc@hints@w@true\fi}
\@ifundefined{part}{}{\ifx\@spart\mtc@hints@@spart\relax
   \else\@mtc@hints@w@true\fi}
\if@mtc@hints@w@\@mtc@hints@given@true%
  \PackageWarningNoLine{minitoc(hints)}%
     {--- The \string\part\space command is altered after minitoc}
  \if@mtc@hyper@used@
     \PackageWarningNoLine{minitoc(hints)}%
        {--- It may be the consequence of loading the ``hyperref'' package}
  \fi
\fi
\@mtc@hints@w@false
\@ifundefined{chapter}{}{\ifx\chapter\mtc@hints@chapter\relax
   \else\@mtc@hints@w@true\fi}%
\@ifundefined{chapter}{}{\ifx\@chapter\mtc@hints@@chapter\relax
   \else\@mtc@hints@w@true\fi}%
\@ifundefined{chapter}{}{\ifx\@schapter\mtc@hints@@schapter\relax
   \else\@mtc@hints@w@true\fi}%
\if@mtc@hints@w@\@mtc@hints@given@true%
  \PackageWarningNoLine{minitoc(hints)}%
     {--- The \string\chapter\space command is altered after minitoc}
  \if@mtc@hyper@used@
     \PackageWarningNoLine{minitoc(hints)}%
        {--- It may be the consequence of loading the ``hyperref'' package}
  \fi
\fi
\@mtc@hints@w@false
\@ifundefined{chapter}%
   {\@ifundefined{section}{}{\ifx\section\mtc@hints@section\relax\else
      \@mtc@hints@w@true\fi}
   \@ifundefined{section}{}{\ifx\@sect\mtc@hints@@sect\relax\else
      \@mtc@hints@w@true\fi}
   \@ifundefined{section}{}{\ifx\@ssect\mtc@hints@@ssect\relax\else
      \@mtc@hints@w@true\fi}
\if@mtc@hints@w@\@mtc@hints@given@true%
  \PackageWarningNoLine{minitoc(hints)}%
     {--- The \string\section\space command is altered after minitoc}
  \if@mtc@hyper@used@
     \PackageWarningNoLine{minitoc(hints)}%
        {--- It may be the consequence of loading the ``hyperref'' package}
  \fi
  \relax\else\fi}{}%
\if@mtc@hints@
\newif\if@mtc@toc@used@ \global\@mtc@toc@used@false
\newif\if@mtc@lof@used@ \global\@mtc@lof@used@false
\newif\if@mtc@lot@used@ \global\@mtc@lot@used@false
\let\mtc@sv@tableofcontents\tableofcontents
\def\tableofcontents%
   {\global\@mtc@toc@used@true\mtc@sv@tableofcontents}
\let\mtc@sv@listoffigures\listoffigures
\def\listoffigures%
   {\global\@mtc@lof@used@true\mtc@sv@listoffigures}
\let\mtc@sv@listoftables\listoftables
\def\listoftables%
   {\global\@mtc@lot@used@true\mtc@sv@listoftables}
\let\mtc@sv@faketableofcontents\faketableofcontents
\def\faketableofcontents%
   {\global\@mtc@toc@used@true\mtc@sv@faketableofcontents}
\let\mtc@sv@fakelistoffigures\fakelistoffigures
\def\fakelistoffigures%
   {\global\@mtc@lof@used@true\mtc@sv@fakelistoffigures}
\let\mtc@sv@fakelistoftables\fakelistoftables
\def\fakelistoftables%
   {\global\@mtc@lot@used@true\mtc@sv@fakelistoftables}
\fi
}
\def\mtc@hints@enddoc{%
\if@dosectlof@used@\@mtc@sect@floats@true\fi
\if@dosectlot@used@\@mtc@sect@floats@true\fi
\if@sectlof@used@\@mtc@sect@floats@true\fi
\if@sectlot@used@\@mtc@sect@floats@true\fi
\if@mtc@section@def@
\if@mtc@placeinsLoaded@
\else
  \if@mtc@sect@floats@%
   \PackageWarningNoLine{minitoc(hints)}%
      {***** You are using \string\dosectlof\space and/or \MessageBreak
       \string\dosectlot, \string\sectlof\space and/or \string\sectlot,
       \MessageBreak
       hence the ``insection'' package option is recommended. *****}%
   \@mtc@hints@w@true
   \@mtc@hints@given@true
  \fi
\fi
\if@mtc@part@def@
 \if@parttoc@used@
   \if@doparttoc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\parttoc\space
       but not \string\doparttoc\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@partlof@used@
   \if@dopartlof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\partlof\space
       but not \string\dopartlof\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@partlot@used@
   \if@dopartlot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\partlot\space
       but not \string\dopartlot\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\if@mtc@chapter@def@
 \if@minitoc@used@
   \if@dominitoc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\minitoc\space
       but not \string\dominitoc\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@minilof@used@
   \if@dominilof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\minilof\space
       but not \string\dominilof\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@minilot@used@
   \if@dominilot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\minilot\space
       but not \string\dominilot\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\if@mtc@section@def@
 \if@secttoc@used@
   \if@dosecttoc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\secttoc\space
       but not \string\dosecttoc\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@sectlof@used@
   \if@dosectlof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\sectlof\space
       but not \string\dosectlof\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@sectlot@used@
   \if@dosectlot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\sectlot\space
       but not \string\dosectlot\space*****}
   \fi
 \fi
\fi
\if@mtc@part@def@
 \if@doparttoc@used@
   \if@parttoc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\doparttoc\space
       but not \string\parttoc\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@dopartlof@used@
   \if@partlof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dopartlof\space
       but not \string\partlof\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@dopartlot@used@
   \if@partlot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dopartlot\space
       but not \string\partlot\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\if@mtc@chapter@def@
 \if@dominitoc@used@
   \if@minitoc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dominitoc\space
       but not \string\minitoc\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@dominilof@used@
   \if@minilof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dominilof\space
       but not \string\minilof\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@dominilot@used@
   \if@minilot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dominilot\space
       but not \string\minilot\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\if@mtc@section@def@
 \if@dosecttoc@used@
   \if@secttoc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dosecttoc\space
       but not \string\secttoc\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@dosectlof@used@
   \if@sectlof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dosectlof\space
       but not \string\sectlof\space*****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@dosectlot@used@
   \if@sectlot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\dosectlot\space
       but not \string\sectlot\space*****}
   \fi
 \fi
\fi
\fi
\if@mtc@part@def@
 \if@parttoc@used@
   \if@mtc@toc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\parttoc\space but not\MessageBreak
       \string\tableofcontents\space nor
       \string\faketableofcontents\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@partlof@used@
   \if@mtc@lof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\partlof\space but not\MessageBreak
       \string\listoffigures\space nor
       \string\fakelistoffigures\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@partlot@used@
   \if@mtc@lot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\partlot\space but not\MessageBreak
       \string\listoftables\space nor
       \string\fakelistoftables\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\if@mtc@chapter@def@
 \if@minitoc@used@
   \if@mtc@toc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\minitoc\space but not\MessageBreak
       \string\tableofcontents\space nor
       \string\faketableofcontents\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@minilof@used@
   \if@mtc@lof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\minilof\space but not\MessageBreak
       \string\listoffigures\space nor
       \string\fakelistoffigures\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@minilot@used@
   \if@mtc@lot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\minilot\space but not\MessageBreak
       \string\listoftables\space nor
       \string\fakelistoftables\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\if@mtc@section@def@
 \if@secttoc@used@
   \if@mtc@toc@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\secttoc\space but not\MessageBreak
       \string\tableofcontents\space nor
       \string\faketableofcontents\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@sectlof@used@
   \if@mtc@lof@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\sectlof\space but not\MessageBreak
      \string\listoffigures\space nor
      \string\fakelistoffigures\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
 \if@sectlot@used@
   \if@mtc@lot@used@\else
   \PackageWarningNoLine{minitoc(hints)}%
      {**** You have used \string\sectlot\space but not\MessageBreak
       \string\listoftables\space nor
       \string\fakelistoftables\space *****}
   \@mtc@hints@given@true
   \fi
 \fi
\fi
\def\mtc@hints@checklongext{%
\if@longextensions@
\else
  \if@mtc@part@def@
    \ifnum 99 < \value{ptc}
       \@mtc@hints@given@true
       \PackageWarningNoLine{minitoc(hints)}%
          {**** You have used short extensions
           and more than 99 parts *****}
    \fi
  \fi
  \if@mtc@chapter@def@
    \ifnum 99 < \value{mtc}
       \@mtc@hints@given@true
       \PackageWarningNoLine{minitoc(hints)}%
          {**** You have used short extensions
           and more than 99 chapters *****}
    \fi
  \else
    \if@mtc@section@def@
      \ifnum 99 < \value{stc}
         \@mtc@hints@given@true
         \PackageWarningNoLine{minitoc(hints)}%
            {**** You have used short extensions
             and more than 99 sections *****}
      \fi
    \fi
  \fi
\fi}
\mtc@hints@checklongext
\if@mtc@sectstyLoaded@\else
  \if@mtc@sectstyLoaded@a@
     \PackageWarningNoLine{minitoc(hints)}%
     {**** The sectsty package should be loaded \MessageBreak
           **before** the minitoc package ****}
     \@mtc@hints@given@true
  \fi
\fi
\if@mtc@empty@parttoc@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty parttocs ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@partlof@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty partlofs ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@partlot@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty partlots ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@minitoc@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty minitocs ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@minilof@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty minilofs ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@minilot@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty minilots ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@secttoc@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty secttocs ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@sectlof@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty sectlofs ****}
   \@mtc@hints@given@true
\fi
\if@mtc@empty@sectlot@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have attempted to insert empty sectlots ****}
   \@mtc@hints@given@true
\fi
\if@firstpartis@used@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have invoked an obsolete command: \string\firstpartis\space ****}
   \@mtc@hints@given@true
\fi
\if@firstchapteris@used@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have invoked an obsolete command: \string\firstchapteris\space ****}
   \@mtc@hints@given@true
\fi
\if@firstsectionis@used@
   \PackageWarningNoLine{minitoc(hints)}%
   {**** You have invoked an obsolete command: \string\firstsectionis\space ****}
   \@mtc@hints@given@true
\fi
\if@mtc@hints@given@
   \PackageWarningNoLine{minitoc(hints)}%
      {***** Some hints have been written\MessageBreak
       in the \jobname.log file. *****}
\else
   \PackageInfo{minitoc(hints)}%
      {***** No hints have been written\MessageBreak
       in the \jobname.log file. *****\@gobble}
\fi
}
\ExecuteOptions{english}
\ProcessOptions*
\if@mtc@ss@insection@
   \RequirePackage[section,below,verbose]{placeins}[2005/04/18]%
   \@ifpackageloaded{placeins}%
      {\@mtc@placeinsLoaded@true}%
      {\@mtc@placeinsLoaded@false}%
\fi
\if@mtc@notoccite@
   \RequirePackage{notoccite}%
\fi
\if@mtc@hints@
   \AtBeginDocument{\mtc@hints@begindoc}%
   \AtEndDocument{\mtc@hints@enddoc}%
\fi
\@ifundefined{part}{}{\let\mtc@hints@part\part
                         \let\mtc@hints@@part\@part
                         \let\mtc@hints@@spart\@spart}
\@ifundefined{chapter}{}{\let\mtc@hints@chapter\chapter
                         \let\mtc@hints@@chapter\@chapter
                         \let\mtc@hints@@schapter\@schapter}
\@ifundefined{section}{}{\let\mtc@hints@section\section
                         \let\mtc@hints@@sect\@sect
                         \let\mtc@hints@@ssect\@ssect}
\endinput
%%
%% End of file `minitoc.sty'.
