12

I wrote the following style for makeindex:

headings_flag 1
heading_prefix "{\\bfseries "
heading_suffix "}\\nopagebreak\n"
delim_0 " \\dotfill "
delim_1 " \\dotfill "
delim_2 " \\dotfill "

which works pretty good. It happens that I have some very long index entries, and their display is not what I expected. This is a MWE:

\documentclass{article}

\usepackage{makeidx}

\makeindex

\begin{document}
Hello.\index{Hello}
Hello again.\index{Hello again}
Hi there.\index{Hello there, this is a very long text here}
\printindex
\end{document}

When I run makeindex mwe.idx -s mystyle.ist, this is the output:

Index 1

To be honest, I was expecting something like this:

Index 2

I tried to find some help on styles in The LaTeX Companion book, but I could not assimilate much. I'm relying on the belief that I could solve this by using a proper ist file.

Any ideas?

1 Answer 1

10

Your belief is correct -- use the style file gind.ist.

EDIT: Or try to change your custom file mystyle.ist as follows:

headings_flag 1
heading_prefix "{\\bfseries "
heading_suffix "}\\nopagebreak\n"
item_x1   "\\efill \n \\subitem "
item_x2   "\\efill \n \\subsubitem "
delim_0   "\\pfill "
delim_1   "\\pfill "
delim_2   "\\pfill "
8
  • Thanks, lockstep! But for some reason, when I try to compile it again, it raises ! Undefined control sequence. l.3 \makeatletter\scan@allowedfalse. Do I need to set anything else? Commented Jul 17, 2011 at 20:59
  • 1
    Sadly, for some reason, it didn't work. I'm gonna try it again and see if I discover what's happening in my (La)TeX kingdom. =) Commented Jul 17, 2011 at 21:07
  • 3
    Found it! There's a nice explanation in this comp.text.tex thread: "gind.ist is meant to be used with the class ltxdoc. It requires certain macros only defined in doc.sty (loaded by ltsdoc.cls)." I'll study those macros and see if I can come up with something. =) Commented Jul 17, 2011 at 21:19
  • 1
    Don't worry, my friend. =) We both learned something new about gind.ist. Your new solution works like a charm, thanks! Commented Jul 17, 2011 at 21:23
  • 1
    @swiper: I fixed an error in the makeindex line, it should be mwe.idx instead of mwe.tex as stated previously. That said, I had problems with \efill and \pfill myself, but this answer helped me a lot. Commented Jul 26, 2011 at 18:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .