如有错误,敬请原谅,这是我第一次来这里。我有大约 70 个不同的.pdf
文件,每个文件都在自己的目录中。当然,每个文件都有自己的索引。我需要的是一个总索引,包含一个单独的文档。
如果相关,我会使用MiKTeX
回忆录文档类。提前谢谢您,Peter。
答案1
如果你有兴趣这样做不雅地并且您有这些 .pdf 的 .idx 文件,此过程将会有效。
将.idx 文件的内容合并为一个文件,即使它们的顺序混乱也没关系。
将此文本列表转储到 Microsoft Word 或其他能够排序的程序中。
使用第一个字段按 AZ 排序(我认为这将是 ASCII 排序,就像 Latex 的索引一样)
你会得到一个包含一系列内容的列表,例如:
\indexentry{contents}{11}
查找并替换
\indexentry{
为\\
,剩下\\ contents}{11}
。在 ; 后加一个空格\\
,应该是\\_
。查找并替换
{
为您想要的引文和页码之间的间隙,例如\hfill
或\dotfill
,剩下\\ contents} \hfill 11}
。请确保在您的\hfill
或 周围留出空格。现在,将所有内容替换
}
为空;确保替换框为空。这样应该就剩下 了\\ contents \hfill 11
。从这里开始,我认为这实际上取决于您的索引项,即您是否有很多父项(例如
\indexentry{parent!parent!contents}{11}
)或排序键(例如\indexentry{sortkey@contents}{11}
)。我希望它仍然有效。您仍然可以找到父项并将其替换为空,因此您可以从\\ parent!contents \hfill 11
到\\ contents \hfill 11
。
注意事项 1:在执行步骤 8 之前,请消除用作父项排序键的任何数字或符号,然后重新对列表进行排序。也就是说,如果此时您还有剩余的内容,例如\\ 01@Genesis!0202 @2:2}{33}
您应该查找并替换01@
(不包含任何内容)。在此阶段,应该会产生\\ Genesis!0202 @2:2 \hfill 33
。
注意事项 2:如果确实有类似的东西,则可能需要进行一些手动删除\indexentry{01@Genesis!0202 @2:2}{33}
。如果您的排序键与引用不同(0202
在我刚刚给出的示例中,而不是01
,因为01
对父项进行排序并对0202
子项/子项进行排序),则需要手动删除。
- 重复查找和替换以处理更复杂的示例后,将其剪切并粘贴到具有所需列数的环境中的 tex 编辑器中。(我从未这样做过,但我相信这很简单)。粘贴
\chapter*{Index}
在上面,然后应该就是这样。
步骤 8 及其注意事项仅适用于相当复杂的索引;我认为常规主题索引不需要这种关注。