参考: https://stackoverflow.com/questions/34818723/export-notebook-to-pdf-without-code
1. 第一个方式是直接在JN(Jupyter-Notebook)的input中写入如下html脚本建立 html的按钮,来决定html页面上是否显示代码,但是这个方式只是影响的显示效果,实际代码在导出为 html或者 PDF时仍是存在的。
代码如下:
from IPython.display import HTML HTML('''<script> code_show=true; function code_toggle() { if (code_show){ $('div.input').hide(); } else { $('div.input').show(); } code_show = !code_show } $( document ).ready(code_toggle); </script> <form action="javascript:code_toggle()"><input type="submit" value="Click here to toggle on/off the raw code."></form>''')
2. 一个比较根本的方式通过上面的参考联结,联结里介绍了不少的方案,选择了其中一个比较有利于实施的,即在需要导出的文件所在目录下,新建一个模板文件 hidecode.tplx 其中的内容如下:
((*- extends 'article.tplx' -*)) ((* block input_group *)) ((*- if cell.metadata.get('nbconvert', {}).get('show_code', False) -*)) ((( super() ))) ((*- endif -*)) ((* endblock input_group *))
之后,在命令行键入:
$ ipython nbconvert --to latex --template hidecode <UrIPYfilename>.ipynb && xelatex <UrIPYfilename>.tex
PS, 所用系统 UBUNTU1604, TEXLIVE2017.