Jupyter Notebook导出pdf(内容含有中文)

刚开始接触使用Jupyter Notebook去练习写一些python代码,看到Jupyter Notebook可以将内容导出为.ipynb,.py,.html,.tex,.pdf…等格式的文件。
Jupyter Notebook导出pdf(内容含有中文)_第1张图片
首先想到导出为pdf文件,但是在Jupyter Notebook直接导出为pdf,生成的pdf文件中文内容不显示。
之前用过LaTeX进行过一些文档编辑,所以导出为.tex格式文件,然后在Latex中编译成pdf文档。

以下逐步进行,并逐步解决遇到的问题:

  1. 在Jupyter Notebook中,导出为.tex格式的文件。
  2. 在WinEdt中打开导出的.tex文件。
遇到的第1个问题:Error Reading

Jupyter Notebook导出pdf(内容含有中文)_第2张图片
解决方法:
可以参考这一篇博客:用WinEdt打开.tex文件显示error reading错误
在WinEdt中,【File】-【Open】(或使用快捷键Ctrl+O),在弹出的打开对话框中,右下角【文件名】右侧有一个打开扩展名方式,默认是default(.)形式,点击下三角号,选择UTF-8(.)形式。再选择相应的.tex文件打开即可。

  1. 在WinEdt中,对.tex文件进行编译生成pdf文件。
遇到的第2个问题:编译报错

无论用Latex还是PDFLaTex编译,都报错。
解决方法:
考虑到在第2步中遇到了utf-8编码的问题,并且又查到一些关于PDFLaTex与XeLaTex的一些内容。具体内容见以下两个网页:
百度知道:PDFLaTex与XeLaTex有什么区别 https://zhidao.baidu.com/question/1887676203258851268.html
CSDN:PDFLaTex与XeLaTex区别及注意事项 https://blog.csdn.net/only520you/article/details/52414203
因此,采用XeLaTex对文件进行编译。
编译通过,生成的pdf文件中中文内容不显示。

  1. 给tex文件添加相应宏包,使生成的pdf文档内的中文内容得以显示。
    用到的宏包有XeCJK,xunicode,xltxtra.
    其中XeCJK 宏包用来处理加载中文字体。在引入XeCJK宏包后,要设置CJK文字的字体。示例如下:
\usepackage{XeCJK}
\setCJKmainfont{SimSun}   %设置中文字体为SimSun(宋体)

另外xunicode,xltxtra宏包要放在放在 fontspec 或 xeCJK 之后。参见这一篇博客:http://blog.sina.com.cn/s/blog_630306a501013n2p.html
xunicode 宏包用来指明代码是 unicode 编码。
fontspec 宏包用来处理加载一般西文字体。
这两个宏包可以用 xltxtra 代替。
即可以选择用:

 \usepackage[T1]{fontenc}
 \usepackage{xunicode}

或者用

\usepackage{xltxtra}

最后,还有标题中的中文无法显示的问题。我的标题是“python入门系列”,pdf文档中显示如下:Jupyter Notebook导出pdf(内容含有中文)_第3张图片
发现导出的.tex文件中,本来就有问题Jupyter Notebook导出pdf(内容含有中文)_第4张图片
改成
Jupyter Notebook导出pdf(内容含有中文)_第5张图片
即可。标题中的中文也可以显示了。

其他Reference:
https://blog.csdn.net/kl28978113/article/details/50891020?utm_source=blogxgwz9

你可能感兴趣的:(LaTex)