如何限制索引一行中的页码数量?

如何限制索引一行中的页码数量?

索引摘录 我正在使用 PDFLaTeX 和 makeidx 为书籍编制索引。一些索引条目有许多关联的页码。第一行包含太多页码,以至于条目名称和第一个页码之间没有空格,在本例中,没有点。参见图片。

我想限制条目数,使得条目名称和第一个数字之间留出最小的空格 - 比如至少 3 个点。或者我想在第一行和下一个换行行之间均匀分布页码。或者任何能提供更多空间的好解决方案。

我尝试减小 IST 文件中的缩进大小,但没有效果。

我的 IST 文件如下所示:

%MakeIndex style style file IndexStyle.ist

% Reduce size of indent from default '16' to '8' - to try prevent page numbers squashing against entry name
indent_length 0
indent_space "\t"

% Big letter for Index headings
heading_prefix "{\\bfseries\\hfil "                  % Insert in front of letter
heading_suffix "\\hfil}\\nopagebreak\n"              % Append after letter
headings_flag    1                                   % Turn on headings (uppercase)

% Add dots between entry and page numbers
delim_0 "\\dotfill "
delim_1 "\\dotfill "
delim_2 "\\dotfill "

答案1

LaTeX 定义\dotfill为:

\def\dotfill{%
  \leavevmode
  \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
  \kern\z@}

这里的问题是\hfill最小宽度可以为 0,这不是您想要的。

因此,您可以更改.ist文件以使用例如\mydotfill而不是然后\dotfill定义\mydotfill为:

\def\mydotfill{%
  \leavevmode
  \cleaders \hbox to .44em{\hss.\hss}\hskip 1em plus1fill
  \kern 0pt}

这将确保您至少有 1em 的引导点。

相关内容