1 \usepackage{ifthen} 2 \usepackage{keyval} 3 \input{makeidx.hva} 4 \def\imakeidx@indexsetup@level{\@ifundefined{\chapter*}{\section*}{\chapter*}} 5 \define@key{imakeidx@indexsetup}{level}{\def\imakeidx@indexsetup@level{#1}} 6 \def\imakeidx@indexsetup@toclevel{section} 7 \define@key{imakeidx@indexsetup}{toclevel}{\def\imakeidx@indexsetup@toclevel{#1}} 8 \newboolean{imakeidx@indexsetup@noclearpage} 9 \define@key{imakeidx@indexsetup}{noclearpage}{\setboolean{imakeidx@indexsetup@noclearpage}{#1}} 10 \define@key{imakeidx@indexsetup}{firstpagestyle}{} 11 \define@key{imakeidx@indexsetup}{headers}{} 12 \def\imakeidx@indexsetup@othercode{} 13 \define@key{imakeidx@indexsetup}{othercode}{% 14 \def\imakeidx@indexsetup@othercode{#1}% 15 \let\OldTheIndex\the@hevea@index 16 \let\OldEndTheIndex\endthe@hevea@index 17 \renewenvironment{the@hevea@index}% 18 {\OldTheIndex\imakeidx@indexsetup@othercode}% 19 {\OldEndTheIndex}} 20 \newcommand{\indexsetup}[1]{\@setkeys{imakeidx@indexsetup}{#1}} 21 \newcommand{\splitindexoptions}[1]{} 22 \newcommand{\indexprologue}[2][]{\gdef\hevea@indexprologue{#2}} 23 \def\imakeidx@makeindex@name{default} 24 \define@key{imakeidx@makeindex}{name}{\imakeidx@makeindex@name{#1}} 25 \define@key{imakeidx@makeindex}{title}{\def\indexname{#1}} 26 \define@key{imakeidx@makeindex}{program}{} 27 \define@key{imakeidx@makeindex}{options}{} 28 \newboolean{imakeidx@makeindex@noautomatic} 29 \define@key{imakeidx@makeindex}{noautomatic}[false]{\setboolean{imakeidx@makeindex@noautomatic}{#1}} 30 \newboolean{imakeidx@makeindex@intoc} 31 \define@key{imakeidx@makeindex}{intoc}[false]{\setboolean{imakeidx@makeindex@intoc}{#1}} 32 \define@key{imakeidx@makeindex}{columns}{\setcounter{indexcols}{#1}} 33 \define@key{imakeidx@makeindex}{columnsep}{} 34 \define@key{imakeidx@makeindex}{columnseprule}{\setboolean{indexcolseprule}{#1}} 35 \renewcommand{\makeindex}[1][]{% imakeidx defines \makeindex w/optional argument 36 \@setkeys{imakeidx@makeindex}{#1}% 37 \newindex{\imakeidx@makeindex@name}{idx}{ind}{\indexname}% 38 } 39 \renewcommand{\printindex}{% 40 \ifthenelse{\boolean{imakeidx@makeindex@intoc}}% 41 {\addcontentsline{toc}% 42 {\imakeidx@indexsetup@toclevel}% 43 {\ahrefloc{section@the@hevea@index@\imakeidx@makeindex@name}{\indexname}}}% 44 {}% 45 \@printindex[\imakeidx@makeindex@name]% 46 }