一个公共索引,其中包含位于不同目录中的单独 pdf 文件

一个公共索引,其中包含位于不同目录中的单独 pdf 文件

如有错误,敬请原谅,这是我第一次来这里。我有大约 70 个不同的.pdf文件,每个文件都在自己的目录中。当然,每个文件都有自己的索引。我需要的是一个总索引,包含一个单独的文档。
如果相关,我会使用MiKTeX回忆录文档类。提前谢谢您,Peter。

答案1

如果你有兴趣这样做不雅地并且您有这些 .pdf 的 .idx 文件,此过程将会有效。

  1. 将.idx 文件的内容合并为一个文件,即使它们的顺序混乱也没关系。

  2. 将此文本列表转储到 Microsoft Word 或其他能够排序的程序中。

  3. 使用第一个字段按 AZ 排序(我认为这将是 ASCII 排序,就像 Latex 的索引一样)

  4. 你会得到一个包含一系列内容的列表,例如:\indexentry{contents}{11}

  5. 查找并替换\indexentry{\\,剩下\\ contents}{11}。在 ; 后加一个空格\\,应该是\\_

  6. 查找并替换{为您想要的引文和页码之间的间隙,例如\hfill\dotfill,剩下\\ contents} \hfill 11}。请确保在您的\hfill或 周围留出空格。

  7. 现在,将所有内容替换}为空;确保替换框为空。这样应该就剩下 了\\ contents \hfill 11

  8. 从这里开始,我认为这实际上取决于您的索引项,即您是否有很多父项(例如\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子项/子项进行排序),则需要手动删除。

  1. 重复查找和替换以处理更复杂的示例后,将其剪切并粘贴到具有所需列数的环境中的 tex 编辑器中。(我从未这样做过,但我相信这很简单)。粘贴\chapter*{Index}在上面,然后应该就是这样。

步骤 8 及其注意事项仅适用于相当复杂的索引;我认为常规主题索引不需要这种关注。

相关内容