无法在Jupyter的PDF输出中显示Unicode字符(如λ)

时间:2018-03-30 21:06:28

标签: pdf unicode jupyter-notebook julia mathematical-expressions

我在jupyter notebook中使用Julia。

我想为我的工作成果生成一个pdf。但是,在生成pdf时,数学表达式λ的{​​{1}}将丢失,因此pdf中的输出为λ=3

这是jupyter笔记本代码

=3

以下是使用jupyter笔记本

生成的pdf
In[1]: λ=3 
Out[1]: 3

使用In[1]: =3 Out[1]: 3 生成的pdf不是这种情况,其中表达式nteract已完全打印出来。但是,使用λ=3生成的pdf的整体外观不如使用nteract生成的pdf好。

这是用jupyter notebook生成的打印pdf(看起来与代码本身完全相同):

nteract

有人知道如何用In[1]: λ=3 Out[1]: 3 打印这样的角色吗?

非常感谢提前

1 个答案:

答案 0 :(得分:4)

问题与Jupyter本身如何生成和编译乳胶文件有关。默认情况下,Jupyter使用xelatex编译文件以支持Unicode。 我的猜测但是,xelatex需要文件中的一些配置,而Jupyter不会使用普通xelatex命令生成开箱即用的文件。

您可以更改Jupyter的配置以编译使用pdflatexlatex命令生成的latex文件。

<强>解决方案: 在Linux上找到你的Jupyter配置目录(即jupyter --config-dir的输出,通常是~/.jupyter。要找出IJulia使用的jupyter运行using IJulia; IJulia.jupyter,然后找出那个jupyter的config目录)

如果没有,请在此目录中创建文件jupyter_notebook_config.py

将以下代码行放在此文件的末尾并保存:

c.PDFExporter.latex_command = ['pdflatex', '{filename}']

然后您可以像往常一样使用笔记本导出PDF文件。字符应该出现,恰到好处。如果在shell中找到pdflatex命令,这应该可以工作。

如果您没有pdflatexlatex,则还可以使用以下行代替上述代码:

c.PDFExporter.latex_command = ['latex', '--output-format=pdf', '{filename}']

如果您无法更改Jupyter的配置,请下载latex文件并使用latex --output-format=pdf filename.tex命令对其进行编译。

希望它有效!