tex の索引の列数を変更する

QA: 1段索引と2段索引との並存 | TeX
IndexColNumを変更すれば、4列くらいの索引もできるし、\newindex{aut}{adx}{and}{著者索引}を変更すれば、同一PDF文書中に列数の異なる索引を共存できる。

\documentclass[dvipdfmx]{jsbook}

\setlength{\textwidth}{\fullwidth}
\setlength{\evensidemargin}{\oddsidemargin}

\usepackage{multicol}

\usepackage{index}
\makeindex
\newindex{aut}{adx}{and}{著者索引}

\makeatletter
\newcounter{IndexColNum}
\setcounter{IndexColNum}{2}% set default

\newcommand{\setIndexColNum}[1]{%
\setcounter{IndexColNum}{#1}
% from: jsbook.cls
\renewenvironment{theindex}{% -- \begin{theindex} --
    \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% from: index.sty
    %\if@twocolumn
    %  \onecolumn\@restonecolfalse
    %\else
    %  \clearpage\@restonecoltrue
    %\fi
    \columnseprule.4pt \columnsep 2zw
    \ifx\multicols\@undefined
      \twocolumn[\@makeschapterhead{\indexname}%
      \addcontentsline{toc}{chapter}{\indexname}]%
    \else
      \ifnum\value{IndexColNum}=1\relax
        \chapter*{\indexname}
        \addcontentsline{toc}{chapter}{\indexname}
      \else
        \ifdim\textwidth<\fullwidth
          \setlength{\evensidemargin}{\oddsidemargin}
          \setlength{\textwidth}{\fullwidth}
          \setlength{\linewidth}{\fullwidth}
          \begin{multicols}{\value{IndexColNum}}[\chapter*{\indexname}%
          \addcontentsline{toc}{chapter}{\indexname}]%
        \else
          \begin{multicols}{\value{IndexColNum}}[\chapter*{\indexname}%
          \addcontentsline{toc}{chapter}{\indexname}]%
        \fi
      \fi
    \fi
    \@mkboth{\indexname}{}%
    \plainifnotempty % \thispagestyle{plain}
    \parindent\z@
    \parskip\z@ \@plus .3\jsc@mpt\relax
    \let\item\@idxitem
    \raggedright
    \footnotesize\narrowbaselines
  }{% -- \end{theindex} --
    \ifx\multicols\@undefined
      \if@restonecol\onecolumn\fi
    \else
      \ifnum\value{IndexColNum}=1\relax
      \else
        \end{multicols}
      \fi
    \fi
    %\clearpage
  }%
}
\makeatother

\begin{document}

\setIndexColNum{1}
\printindex

\setIndexColNum{2}
\printindex[aut]

\end{document}