jupyter notebook 导出 pdf 您所在的位置:网站首页 jupyter导出文件乱码 jupyter notebook 导出 pdf

jupyter notebook 导出 pdf

2023-10-10 23:11| 来源: 网络整理| 查看: 265

jupyter notebook 导出 pdf ——标题及内容支持中文、代码隐藏问题 1 导出 PDF 时支持中文2 隐藏 jupyter notebook编辑界面的代码3 导出PDF代码隐藏4 参考资料

1 导出 PDF 时支持中文 1 安装 pandoc :下载地址,选择默认安装即可,可选择安装位置。 在这里插入图片描述2 安装Miktex:下载地址,官网上有详细的安装过程,选择默认安装即可,在安装过程中可以选择安装位置。 在这里插入图片描述如果过程 1、2 安装程序过程中没有自动配置系统变量,需要把过程 1、2 中的安装路径手动配置到系统变量 path 中,例如我的系统路径如下: 在这里插入图片描述3 安装所需的宏包:

在自己新建的文档中找到转 PDF 的选项,自动提示安装各种宏包 直接点击安装即可(安装数次,直到安装完毕。。。) 在这里插入图片描述在这里插入图片描述完成上述 3 个步骤之后,可以成功转换英文内容,包括图片、代码高亮等,但不支持中文。

4 修改导出 PDF 的配置:

若要使正文中的中文正常显示,需要修改配置文件中的 article.tplx ,可以在计算机中搜索该文件的位置(一般在 ~\Anaconda3\Lib\site-packages\nbconvert\templates\latex\article.tplx),并利用 notepad++、UE 等编辑工具打开并将 \documentclass[11pt]{article} 修改为 \documentclass[11pt]{ctexart} 。 在这里插入图片描述在这里插入图片描述 通过上述修改之后,正文中的中文可以正常显示,但是标题上的中文不能正常显示,需要修改 base.tplx 文件(与 article.tplx 在同一文件下),具体的修改步骤如下:

注销 fontenc:由 \usepackage[T1]{fontenc} 修改为 %\usepackage[T1]{fontenc};修改 tittl 生成规则:((* block title *))\title{((( resources.metadata.name | ascii_only | escape_latex )))} ((* endblock title *)) 修改为:((* block title *))\title{((( resources.metadata.name | escape_latex )))}((* endblock title *))

修改上述配置之后,需要重启 jupyter notebook,之后就可以正常转换成 PDF 文档了。

2 隐藏 jupyter notebook编辑界面的代码 1 在任意 cell 中执行如下语句,会出现如下图的代码,点击后会隐藏代码 cell 与 cell 前面的编号。如果想保留编号,把下面代码中的 .prompt 去掉。 from IPython.display import display_html display_html("""Toggle Code""", raw=True)

在这里插入图片描述在这里插入图片描述

2 安装 nbextensions 的插件

Windows 系统需要在 cmd 中执行如下命令:

# 安装 jupyter_contrib_nbextensions pip install jupyter_contrib_nbextensions # 安装 javascript 和 css 文件 jupyter contrib nbextension install --user

在执行以上命令时,需要关闭 jupyter notebook,其详细的内容可以参考该链接。然后对 jupyter notebook 的 home 页出现的 nbextensions 进行设置,选中 Hide input all 项 在这里插入图片描述在新建的编辑文档点击下图中的隐藏代码图标即可。 在这里插入图片描述 常用的插件介绍可以参考这篇文章,插件中各选项的详细介绍,可以参考官方介绍。

3 制作类 PPT 演示文档

在编辑好的文档中依次选择下图 view 中的选项 在这里插入图片描述 之后在文档中的右上角会出现下图中选项框,选择 slide 、sub-slide 或者 skip 即可。 在这里插入图片描述最后利用 cmd 或者 Terminal 在上述文档所在的目录执行如下语句:

jupyter nbconvert .ipynb --to slides – post serve 其中.ipynb 替换成上述编辑的文档名称

在这里插入图片描述

3 导出PDF代码隐藏 1 在配置文件 article.tplx 的最下面添加如下语句 ((* block input_group *)) ((* endblock input_group *))

在这里插入图片描述 通过在配置文件中添加上述语句,可以把任何部分含有中文、输入代码的文档正常导出为不展示代码的 pdf 文件,但是导出的文件中任然含有 OUT[N ] 字符串。 在这里插入图片描述

4 参考资料

在解决上述问题的过程中,主要参考了一下几篇文章, 1 https://zhuanlan.zhihu.com/p/50297880 2 https://www.helplib.com/GitHub/article_100408 3 http://blog.genesino.com/2017/12/jupyter/ 4 https://github.com/jupyter/nbconvert



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有