我正在使用 LuaLaTeX 和 Lua 包开发文档生成基础架构。该过程的一部分是包含外部生成的包含多个部分的多页 PDF。我的问题是如何将包含的 PDF 的目录条目与通过主文档的分节命令创建的常规条目合并。
所包含的文档是使用 LilyPond 创建的多乐章乐谱。LilyPond 已将.toc
包含页码和乐章标题的文件导出为字符串列表(页码已经正确,因为 LilyPond 已从主文档中获取起始页码)。
我可以解决这个问题的一个方法是
- 读取(LilyPond).toc 文件(使用 Lua)
- 解析页码
\includepdf
使用确定页面范围的多个命令插入文档- 手动写入
\section
条目
但实际上我更希望能够将 PDF 包含在一个整体中并手动“注入”目录条目。
假设我有一张 Lua 表
toc_entries = {
["7"] = "First movement",
["13"] = "Second movement",
["25"] = "Third movement"
}
是否有可能从那里将相应的条目(假设所有条目都在相同的、预定义的分段级别)注入到已经由常规分段条目填充的目录中?
类似于\includepdf
s addtotoc
,但可以选择指定多个条目。(让 LilyPond 以 所需的格式导出目录条目会很容易addtotoc
。)
答案1
\includepdf
saddtotoc
已经支持多个条目:
\documentclass{article}
\usepackage{pdfpages,catchfile}
\newcommand\includelilypond[1]{%
\begingroup
\CatchFileDef\currentlilypondtoc{#1.toc}{}
\edef\x{\noexpand\includepdf[pages=-,addtotoc={\currentlilypondtoc}]{#1.pdf}}
\expandafter\endgroup\x
}
\begin{document}
\tableofcontents
\includelilypond{test}
\end{document}