%%% partminitoc.sty
%%% CAUTION, if you want to rewrite the first aux file,
%%% you must erase .aux first, and run latex twice.

%%% commands for user's definition:
%%% \printparttitle
%%% \partminitocname

\renewcommand\printparttitle[1]{%
  \centerline{\huge #1}%
  \vskip 40mm
  \noindent\hfill\minipage{.75\textwidth}\normalfont\normalsize
    \listofpartialtoc
  \endminipage
}

\newcounter{partialentry}
\newcounter{nulstringcnt}\setcounter{nulstringcnt}{0}

\newcommand\MakePartialToc[2]{%
  \def\partialtocext{#1}%
  \newminilistof{#2}{\partialtocext}{\partminitocname}
  \providelistentry{partminitoc}{\partialtocext}{1}
  \def\listofpartialtoc{\csname #2\endcsname}
}

\newcommand\partminitoc[1]{%
  \setcounter{partialentry}{\c@chapter}
  \addtocontents{\partialtocext}{\protect\LARGE{Á¦\:\thepartialentry\:Àå%
    \hskip1em\protect\sffamily #1}\dotfill \thepage\par}
}

\newcommand\partminitocname{Á¦~\thepart~ÆíÀÇ ¸ñÂ÷}

\newlistentry{partminitoc}{first}{1}

\def\getprprname{%
  \def\PRPRNAME{%
  \ifcase\thenulstringcnt\or one\or two\or three\or four\or
          five\or\else\fi}
}

\addtoiargdef{\chapter}{}{\partminitoc{\f@rtoc}}
\addtoiargdef{\part}{%
   \stepcounter{nulstringcnt}%
   \getprprname
   \MakePartialToc{\PRPRNAME}{listof{\PRPRNAME}}%
}{}

%% providelistentry
\newcommand{\providelistentry}[4][\@empty]{%
  \@ifundefined{c@#2}{%    check & set the counter
    \ifx \@empty#1\relax
      \newcounter{#2}
    \else
      \newcounter{#2}[#1]%
      \expandafter\edef\csname the#2\endcsname{%
        \expandafter\noexpand\csname the#1\endcsname.\noexpand\arabic{#2}}
    \fi}{}
  \setcounter{#2}{0}

  \@namedef{l@#2}##1##2{%
    \ifnum \@nameuse{c@#3depth} > #4\relax
      \vskip \@nameuse{cftbefore#2skip}
      {\leftskip \@nameuse{cft#2indent}\relax
       \rightskip \@tocrmarg
       \parfillskip -\rightskip
       \parindent \@nameuse{cft#2indent}\relax\@afterindenttrue
       \interlinepenalty\@M
       \leavevmode
       \@tempdima \@nameuse{cft#2numwidth}\relax
       \expandafter\let\expandafter\@cftbsnum\csname cft#2presnum\endcsname
       \expandafter\let\expandafter\@cftasnum\csname cft#2aftersnum\endcsname
       \expandafter\let\expandafter\@cftasnumb\csname cft#2aftersnumb\endcsname
       \advance\leftskip\@tempdima \null\nobreak\hskip -\leftskip
       {\@nameuse{cft#2font}##1}\nobreak
       \@nameuse{cft#2fillnum}{##2}}
    \fi
  }  % end of \l@#2
} % end \providelistentry

\newcommand{\newminilistof}[3]{%
  \@namedef{ext@#2}{#2}
  \@ifundefined{c@#2depth}{\newcounter{#2depth}}{}
  \setcounter{#2depth}{1}
  \@namedef{#2mark}{\markboth{#3}{#3}}
  \@namedef{#1}{\@ifstar{\@nameuse{@star#2}}{\@nameuse{@plain#2}}%
               }
  \@namedef{@star#2}{%
    \ensureonecol
    \par
    \begingroup
      \@nameuse{@#2maketitle}
      \@starttoc{#2}%
    \endgroup
    \restorefromonecol}
  \@namedef{@plain#2}{%
    \ensureonecol
    \par
    \begingroup
      \@nameuse{@#2maketitle}
      \phantomsection
      \@starttoc{#2}%
    \endgroup
    \restorefromonecol}
  \@namedef{@#2maketitle}{%
    \@nameuse{#2headstart}
   {\parindent\z@ \parskip\cftparskip
    \interlinepenalty\@M
    \@nameuse{print#2nonum}%
    \@nameuse{print#2title}{#3}%
    \@nameuse{#2mark}%
    \thispagestyle{chapter}%
    \@nameuse{after#2title}
   }
    \@afterheading}
  \@namedef{#2headstart}{}
  \@namedef{after#2title}{\vskip\onelineskip}
  \@namedef{print#2nonum}{\printchapternonum}
  \@namedef{print#2title}##1{\printpartminitoctitle{##1}}
  \@namedef{printpartminitoctitle}##1{\normalfont\LARGE\bfseries\centering ##1}
} % end \newlistof

\endinput