朋友们,我遇到了一个设计问题。我正在写一本有数千首歌曲的歌本(使用songs
包)。到目前为止一切顺利。
这些天我决定为每种歌曲风格/流派创建索引,例如摇滚、布鲁斯、流行音乐等等。我想出了 22 种风格/流派。通过使用该tocloft
软件包,我设法设置了我想要的所有列表。但随后:
No room for a new write
包装tocloft
上明确写明:
如果您尝试创建太多新列表,LaTeX 将返回错误消息:
No room for a new write
如果您收到这样的消息,唯一的办法就是重新设计您的文档。该
tocloft
软件包不提供指定新的浮点数列表或浮点环境的简单方法。对于这些,我推荐该ccaption
软件包。
那是我第一次看到这个错误。然后我ccaption
也阅读了手册:
如果您尝试创建太多新列表,LaTeX 将返回错误消息:
No room for a new write
如果您收到这样的消息,唯一的办法就是重新设计您的文档。
所以,我决定深入挖掘一下。
在阅读了有关该No room for a new write
问题的内容后(我们这里有关于该主题的很好的答案/参考资料!),我意识到我需要改变我的策略。不幸的是,我一开始不知道该怎么做。
有没有一种高效的方式可以在一个文档中包含如此多的列表(至少,LaTeX 不会用尽寄存器)?我愿意接受所有建议。其他软件包、技巧、新方法。
(附注:在这种情况下我无法想出 MWE。如果我包含我的代码,M 将代表最大值或巨大的。)
答案1
听起来更像是 index 包的工作,而不是 list-of-x 包的工作。例如splitindex
仅使用一个输出流即可生成多个索引。
SplitIndex 由一个 LaTeX 包 splitidx 和一个小程序 splitindex 组成。该包可用于生成一个或多个索引。如果没有 splitindex(例如,使用 index 包),索引数量将受到 TeX 输出流数量的限制。但使用该程序,您甚至可以使用超过 16 个索引:splitidx 仅输出单个文件 \jobname.idx,程序将该文件拆分为多个原始索引文件,并为每个文件调用您最喜欢的索引处理器。