imakeidx package will call
xindy, or other index compilers) in the LaTeX compilation, provided you call LaTeX with
-shell-escape. It also allows you to pass options to
As for styling, you can use
.ist files and pass them as argument (
-s flag) to
makeindex (or as an option to
\makeindex if you use
The possible fields you can put in the
.ist file are described in the manpage. It cannot do everything though. In my case, I had to play with sed between two LaTeX call (I know, shame on me) to get the results I wanted.
Here is a sample
.ist file I'm using:
% Dotfill style
delim_0 "\\dotfill "
delim_1 "\\dotfill "
delim_2 "\\dotfill "
% M-dash style
%delim_1 "\\ocadr "
%delim_2 "\\ocadr "
% Force subitems to be raggedleft when they overflow the line
% and make sure to keep items raggedright
item_0 "\n \\item\\raggedright"
item_1 "\n \\subitem\\raggedleft"
% When using Old/New Testament parts in index
% Make them scshape
As you can see, you can already do a lot of things with that.
As mentioned by Thorsten, you can also use the
idxlayout package, which controls some other parameters (such as paragraph lenghts, column lengths, etc.). Both
idxlayout and compatible with Koma-Script classes (I'm using
scrbook) and with each other.