文章目录
前言
jupyter 导出 pdf 或 html 文件时,有两点:1、显示中文 2、隐藏输入
我推荐创建一个虚拟环境,在虚拟环境中用 conda 命令安装 jupyter 插件,这样会直接安装 jupyter 和各种包
conda install -c conda-forge jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextensions_configurator enable --user
这样虚拟环境中,jupyter 有了,插件也有了
一、导出文件时,显示中文
首先,需要安装 Miktex 和 Pandoc 库
如果是anaconda3 自带的jupyter,则需要将 Miktex 和 pandoc 安装到本地,Miktex推荐安装在本地
如果是虚拟环境,激活环境后,可以用 pip 安装:
pip install pandoc
导出文件时会弹出很多其他包或者依赖的安装提示,全部点击 “安装”。这时导出的文件默认是不显示中文的,要想显示中文,有几种方法,这里推荐一种简单而且一劳永逸的方法:
在:/Users/xxx/anaconda3/share/jupyter/nbconvert/templates/latex/
如果是虚拟环境,路径:
C:\Users\xxx\.conda\envs\kc_test_script\share\jupyter\nbconvert\templates\latex
找到 index.tex.j2
文件,然后打开,将其中的 " article" 改成 "ctexart"
。最后,重启 jupyter,此时即可导出中文 pdf 或 html 文件。
二、隐藏输入
有时候,在导出文件时,不想显示代码部分,此时就需要隐藏输入。
也有很多方法,比如利用 jupyter 插件隐藏,但我试了几次,发现导出的文件还是包含了输入代码。一种有效的方法是:
jupyter nbconvert path/to/your.ipynb --to pdf --TemplateExporter.exclude_input=True
or
jupyter nbconvert path/to/your.ipynb --to html --TemplateExporter.exclude_input=True
这样导出的文件,确实会隐藏输入代码