将您的笔记本转换为 Markdown,然后使用带有过滤器(pandoc crossref 和 pandoc citeproc)的 pandoc 转换为 Word。
您需要标题、章节、交叉引用、引文、编号、带有字幕的图形和表格……
这是一个有效的工作流程:
您可以先将您的笔记本转换为可以使用 nbconvert 轻松完成的降价:
jupyter nbconvert --to markdown --no-prompt your_notebook.ipynb
--no-prompt:如果您不想在手稿中出现,将有助于摆脱代码单元。您也可以在最终输出中不需要的降价单元格中使用hidden cells。
然后你需要 pandoc 和两个过滤器 pandoc-crossref 和 pandoc-citeproc。我正在使用 windows 和 anaconda 3 来安装它们:
https://anaconda.org/conda-forge/pandoc
https://anaconda.org/conda-forge/pandoc-crossref
还好通过anaconda安装pandoc也会带来pandoc-citeproc。您需要一个与 pandoc 版本(当前为 pandoc 2.5 )兼容的 pandoc-crossref。
因此,从 conda 安装时,您可以使用:
conda install -c conda-forge pandoc=2.5
然后你可以简单地运行:
conda install -c conda-forge pandoc-crossref
最关键的是markdown语法。你必须使用 Markdown 语法来编写你的笔记本,这在 Jupiter 笔记本中是默认的。有趣的例子是here、here 和here also :)。
您还需要一个 .bib 格式的参考文件来管理您的引文。
然后只需运行命令:
pandoc -s your_notebook.md -o your_notebook.pdf -F pandoc-crossref -F pandoc-citeproc --bibliography=your_references.bib -f markdown
你可以把你的整个笔记本变成漂亮、干净的手稿?
pandoc 有许多其他自定义选项:颜色链接、纸张大小、几何、数字部分……(请参阅 pandoc –help)
所以编写一个自定义的 Jupiter 导出器,您可以结合这两个命令并将您的笔记本导出为手稿。
这里有另一个有趣的方法https://github.com/chrisjsewell/ipypublish