如何隐藏 LaTeX 中的特定页面或部分但保留其副作用(如计数器)?

如何隐藏 LaTeX 中的特定页面或部分但保留其副作用(如计数器)?

我有一个包含多个部分的 tex 文件。所有部分都以新页面开始,我想为每个部分构建一个单独的文件。我可以使用 来做到这一点\jobname,但如何从输出中删除未使用的部分,但保留实际需要的部分的部分计数器的副作用?我想要精确的结果,就像手动按部分拆分结果 pdf 文件一样。

答案1

用于\include包含子文件并\includeonly控制哪个子文件应显示在输出中。

另一个解决方案是给每个分割点添加书签,并使用以下代码进行分割:

from PyPDF2 import PdfReader, PdfWriter
filename = "main.pdf"

with open(filename, "rb") as f:
    r = PdfReader(f)

    bookmarks = list(map(lambda x: (x.title, r.get_destination_page_number(x)), r.outline))
    print(bookmarks)
    for i, b in enumerate(bookmarks):
        begin = b[1]
        end  = bookmarks[i+1][1] if i < len(bookmarks) - 1 else len(r.pages)
        # print(len(r.pages[begin:end]))
        name = b[0] + ".pdf"
        print(f"{name=}: {begin=}, {end=}")
        with open(name, "wb") as f:
            w = PdfWriter(f)
            for p in r.pages[begin:end]:
                w.add_page(p)
            w.write(f)

相关内容