[Tex/LaTex] How to change font size in Index in memoir class

fontsizeindexingmemoir

Each time I build the index with makeindex I have to insert \footnotesize after \begin{theindex} in book.ind file. I use memoir class. Is there an automatic way to do this?

Best Answer

You could use my idxlayout package (which is compatible with memoir) and its font option. Allowed values are normalsize, small, footnotesize, and current (the font in effect at the time of \printindex). (You may also redefine the \indexfont macro if you need a more exotic fontsize.)

\documentclass{memoir}

\makeindex

\usepackage[font=footnotesize]{idxlayout}

\begin{document}

Some text about foo\index{foo}.

\printindex

\end{document}

Note that the memoir class, according to section 17.2 of its manual, features a \preindexhook macro that does nothing by default, but may be redefined to, e.g., \footnotesize. Therefore, on the face of it, loading idxlayout is superfluous. However, in memoir's implementation of the theindex environment, \preindexhook is part of the optional argument of \twocolumn for two-column indexes, and because of that, switching to \footnotesize will only affect an index preamble note, but not the index proper. (The latter is affected if you switch to a one-column index, though.)

\documentclass{memoir}

\makeindex

% \onecolindex
\renewcommand{\preindexhook}{\footnotesize}

\begin{document}

Some text about foo\index{foo}.

\printindex

\end{document}
Related Question