我有三个 .tex 文件,使用 polyglassia 和 xelatex 包编译得很好。当我将这三个 tex 文件合并为一个 tex 文件时,由于其中使用了许多特殊字体,内存占用过大。所以我最终分别编译了它们。结果,我有三个 PDF 输出,其中包含指向其目录的超链接页面以及目录中的超链接部分。因此,有三个 PDF,因此每个 PDF 有三个目录。
我如何合并这些 PDF 的保留超链接以及拥有一个 TOC 文件 [最好在单个多列页面中]?
答案1
我猜你遇到了TeX capacity exceeded
错误。为了解决这个问题,你可以按照@Martin的建议增加分配的内存:
对于 MiKTEX:
- 打开 DOS 命令提示符窗口(通过“开始”→“运行”执行“cmd.exe”)。
- 在 DOS 提示符下输入
initexmf --edit-config-file=latex
- 在打开的编辑器窗口中输入内容
main_memory=10000000
,保存文件并退出编辑器。 - 要重建格式,请
initexmf --dump=latex
在 DOS 提示符下输入 - 使用配置文件重复步骤 2-4
pdflatex
,然后xelatex
为了完整起见,我还为 Texlive 添加了这些细节。
对于 TEX Live:
kpsewhich texmf.cnf
在终端的 shell 提示符下找到配置文件“texmf.cnf” 。- 以 Root 身份,在您最喜欢的文本编辑器中打开该文件,滚动到该
main_memory
条目并将其更改为上面给出的值;保存并退出。 fmtutil-sys --byfmt latex
通过和fmtutil-sys --byfmt pdflatex
和 重建格式fmtutil-sys --byfmt xelatex
答案2
考虑在使用 pdftk 从 LaTeX 生成 pdf 文件后合并它们(http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/) 或其他一些 pdf 操作工具。
如果它无法正确获取目录,您可能能够破解目录(也许使用\includeonly
)并将其合并。