如何用nbconvert 7.x导出带目录的JupyterLab笔记本为HTML?
在JupyterLab 4.1.3和nbconvert 7.16.2中导出带目录(TOC)的HTML文件
标准实现方法
nbconvert 7.x 已移除旧版的html_toc格式,转而通过--template参数搭配对应模板实现目录功能,官方推荐两种方式:
使用官方
lab模板
执行以下命令即可导出自带侧边栏目录的HTML文件:jupyter nbconvert --to html FILENAME.ipynb --template lab该模板会自动识别笔记本中的各级标题(
#/##/###等)生成可折叠、跳转的目录,无需额外配置。自定义HTML模板
若需要个性化目录样式,可复制nbconvert自带的HTML模板(默认路径为Python环境的site-packages/nbconvert/templates/html目录),通过Jinja2模板语法添加目录生成逻辑,实现更符合需求的目录展示。
带章节编号的目录方案
官方默认模板未包含章节编号功能,可通过以下方式实现:
自定义模板添加编号逻辑
在模板中利用Jinja2的循环计数器,为各级标题自动生成层级编号。例如一级标题使用{{ loop.index }},二级标题使用{{ parent_loop.index }}.{{ loop.index }},同时将编号同步渲染到标题文本和目录项中。社区定制模板
可基于官方lab模板进行二次修改,添加章节编号、自定义样式等功能,也可以使用社区分享的现成模板文件替换默认模板,实现带编号的目录效果。
内容的提问来源于stack exchange,提问作者jackaixin
相关产品推荐
相关产品推荐

