You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandoc给Markdown生成的EPUB一级标题添加返回TOC的链接

在Pandoc生成的EPUB中添加返回目录的链接

要实现给每个章节添加返回目录(TOC)的链接,你需要调整Lua过滤器的锚点指向,确保链接目标是Pandoc生成的TOC容器,而非章节标题。具体步骤如下:

  • 编写正确的Lua过滤器
    创建一个名为back-to-toc.lua的文件,内容如下:

    function Header (h)
      -- 可根据需求调整标题级别,比如只给二级及以上标题添加返回链接
      if h.level >= 2 then
        local back_link = pandoc.Link(
          ' ← 返回目录',
          '#toc',  -- 指向Pandoc生成的TOC容器的id
          '',
          {class = 'back-to-toc'}
        )
        table.insert(h.content, back_link)
      end
      return h
    end
    

    注:如果解压EPUB后发现TOC的id不是toc(比如部分版本可能用table-of-contents),请将#toc替换为实际的id值。

  • 生成带返回链接的EPUB
    执行以下命令,结合--toc参数和Lua过滤器:

    pandoc 你的输入文件.md --toc --lua-filter=back-to-toc.lua -o 输出文件.epub
    
  • 验证效果
    用EPUB阅读器打开生成的文件,点击章节标题后的「返回目录」链接,确认是否能跳转到TOC页面。不同阅读器对内部锚点的支持略有差异,若出现跳转问题,可检查HTML结构中的TOC锚点是否正确。

内容的提问来源于stack exchange,提问作者Jose R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:17:02