ai-agent-book 怎么用 Pandoc 与 ElegantBook 自行编译全书 PDF,或用 build_epub.sh 构建 EPUB 📅 发布时间:2026/9/10 22:07:02 👁 浏览次数: ai-agent-book 怎么用 Pandoc 与 ElegantBook 自行编译全书 PDF或用 build_epub.sh 构建 EPUB【免费下载链接】ai-agent-book《深入理解 AI Agent设计原理与工程实践》李博杰 著开源主仓库全书正文、编译版 PDF 与按章配套代码项目地址: https://gitcode.com/GitHub_Trending/ai/ai-agent-book如果你克隆了 ai-agent-book《深入理解 AI Agent设计原理与工程实践》李博杰 著的源码想在自己机器上把全书正文重新编译成 PDF或者生成可在阅读设备上使用的 EPUB 版本仓库已经内置了两条构建路径book/目录下的 build_pdf.sh 负责用 Pandoc XeLaTeX ElegantBook 文档类编译单语言 PDF仓库根目录的 build_epub.sh 负责用 Pandoc 从各语言目录的 Markdown 源码生成 EPUB 3 版本。本文按这两条路径说明准备条件、执行命令和验证方式。编译 PDF 前需要准备什么根据 build_pdf.sh 头部注释与 README 的说明编译 PDF 需要以下依赖pandocxelatexElegantBook LaTeX 文档类字体Songti SC / Heiti SCctex 使用、Menlo、Arial Unicode MS正文源码位于 book/ 目录book/introduction.md引言、book/chapter1.md~book/chapter10.md第一至第十章、book/afterword.md后记。图表以 SVG 文件存于book/images/编译时直接使用排版细节见 book/preamble.tex 与book/*.lua包括 crossref.lua 和 experiment_box.lua 两个 Lua 过滤器。用 build_pdf.sh 编译全书 PDF在仓库的book/目录下执行cd book bash build_pdf.sh脚本会先检查上述 12 个章节文件是否齐全缺少任意一章会直接报错退出然后调用 pandoc以xelatex作为 PDF 引擎指定elegantbook文档类青色主题cyan、devicenormal作者为“李博杰”并附加目录三级、章节编号、preamble.tex、封面cover.tex等参数。编译成功时脚本会在终端输出示例格式具体数值以你的构建为准Done: 深入理解-AI-Agent-李博杰-v2.0.pdf (SIZE, NNN pages)其中大小和页数由du -h和pdfinfo计算得出。如果 PDF 未生成脚本会打印Error: PDF generation failed并以非零状态退出——这就是判断构建是否失败的标志。产物深入理解-AI-Agent-李博杰-v2.0.pdf生成在book/目录下。其他语言版本同样有各自的build_pdf.sh例如英文版 book-en/build_pdf.sh 的输出为AI-Agents-in-Depth-Bojie-Li-v2.0.pdf。章/节编号由文档类自动生成源码标题中不带手工编号。用 build_epub.sh 构建 EPUBEPUB.md 说明了 EPUB 构建流程。依赖比 PDF 多一项PandocPoppler 提供的pdftoppmEPUBCheck可选装了则自动校验关键前置条件构建脚本会为每种语言把对应 PDF 的第一页渲染成 EPUB 封面因此构建目录中必须已存在该语言版本的 PDF比如中文版需要book/深入理解-AI-Agent-李博杰-v2.0.pdf。如果 PDF 不在仓库里需要先在对应语言目录运行其build_pdf.sh生成缺少 PDF 时脚本会报Error: 目录/PDF 名 not found并退出。在仓库根目录构建全部语言./build_epub.sh只构建一种语言则传入语言代码./build_epub.sh zh-CN可用的语言代码为zh-CN、zh-TW、en、es、id、ru、ta、vi、tr、ko、hu、ja、ar、he。两点限制需要注意不带参数即all构建不包含日语和阿拉伯语——EPUB.md 说明这两个语言的 PDF 管线仍在验证中需要显式执行./build_epub.sh ja或./build_epub.sh ar。脚本开头会检查pandoc、pdftoppm、python3三个命令任一缺失立即报Error: command is required.退出。构建流程是pdftoppm把 PDF 第一页转为 JPEG 封面 → pandoc 按 EPUB 3 输出三级目录、章节编号、MathML 公式、epub.css样式、epub_external_links.lua 过滤器→ 用 flatten_epub_toc.py 整理目录阿拉伯语和希伯来语版本额外做 RTL 处理→ 如果安装了epubcheck则自动校验未安装则提示Built 目录/输出 (install epubcheck to validate it.)。如何验证构建结果验证 EPUB安装 EPUBCheck 后epubcheck校验由脚本在每次构建时自动执行未安装时按上述提示自行运行epubcheck 输出的 .epub 路径。EPUB.md 明确说明阿拉伯语 EPUB 使用 RTL 页面转向同时代码和公式保持 LTR 排版。验证 PDFbuild_pdf.sh打印的Done: 文件名 (大小, 页数)即成功信号页数来自pdfinfo输出可自行打开 PDF 核对目录、封面与 SVG 图表是否正常渲染。产物位置每个.epub与对应语言的 PDF 放在同一语言目录下如book/、book-en/生成的 EPUB 文件已被 Git 忽略不会进入版本库。构建失败时从哪里查缺章节文件Markdown 或 PDF脚本直接报Error: 文件 not found对照 README 中列出的正文源码路径补齐即可。依赖缺失EPUB 侧是pandoc/pdftoppm/python3PDF 侧是 pandoc、xelatex、ElegantBook 类与前述字体Songti SC / Heiti SC、Menlo、Arial Unicode MS。排版问题中文符号与数学符号的字体回退逻辑在 book/preamble.tex 中定义可对照其中的newunicodechar设置检查字体环境。【免费下载链接】ai-agent-book《深入理解 AI Agent设计原理与工程实践》李博杰 著开源主仓库全书正文、编译版 PDF 与按章配套代码项目地址: https://gitcode.com/GitHub_Trending/ai/ai-agent-book创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考