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}