我已经看到这本 400 多页的书的最后几页了——索引。一切都进行得很顺利,除了……
我有几个条目排版很糟糕,例如以下 MOS Metallic-Oxide 条目:
在我看来,问题在于我需要让它对齐。对于如此短的线条,完全对齐是不合适的。
因此,查看发布的问题(例如此类),我找到一个包(idxlayout)并在开头添加:\usepackage[justific=RaggedRight]{idxlayout}
这解决了 MOS 对齐问题,但它对其他垂直间距项目的布局有重大影响,使索引更大,并花费我额外的一页。探究原因,我们发现 RaggedRight 选项将页码向上移动,但在从一个首字母切换到下一个首字母时(例如从“a”到“b”等)在索引中添加了额外的垂直空间,如下图所示,比较左侧的原始全对齐垂直间距和左侧的 RaggedRight。额外的垂直空间将项目从第一列的底部移动到第二列的顶部,这种情况一直延续到我必须有额外的一页来容纳最后一页中被推到新最后一页的项目。
但是 RaggedRight 的大写字母促使我进行了更多搜索,发现它是一个特殊的选项;基本选项是“raggedright”,所以我尝试了 \usepackage[justific=raggedright]{idxlayout},这似乎与将 \raggedright 放在我的 \printindex 之前几乎相同:
\raggedright
\printindex
\end{document}
这几乎可以正常工作。但是,出于我无法理解的原因,仅添加 \raggedright 会导致 LaTex 决定在不同的地方换行。请考虑索引第一页上的最后几行。左侧是完全对齐的索引,右侧是仅使用 \raggedright 的索引(或 \usepackage[justific=raggedright]{idxlayout}——它们似乎相同):
左列的最后一个索引条目(ADD)显示了我期望的右边不均匀的工作方式——它采用前一个换行符并将内容向左移动,以使右边距不均匀。
但是右列的最后一个索引条目 (AND) 显示(在左图中)所有页码都适合放在一行中。 \raggedright 选项决定它们不会全部放在一行中,并将其分成两行。 这种差异的累积影响导致大约 12 行额外的行被推到最后的新页面上——将页数从 433 增加到 434。
现在这可能并不重要——一本书在打印时必须有偶数页,但如果我试图让 LaTeX 做我想要它做的事情,这会非常令人沮丧。
我很抱歉没有提供最小的工作示例,但要花好多页才能将所有索引条目定义在所有正确的位置,而且我不确定如何将其减少到恰到好处的索引条目行数来显示这一点。我做了相当多的实验(用我对 LaTeX 的了解),希望这些图像有助于显示问题。