代码之家  ›  专栏  ›  技术社区  ›  ecjb

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

  •  4
  • ecjb  · 技术社区  · 6 年前

    我在一个 jupyter notebook .

    我想为我的工作结果生成pdf。但是,在生成pdf时 λ 数学表达式的 λ=3 丢失,因此pdf中的输出为 =3 .

    这是jupyter笔记本的代码

    In[1]: λ=3 
    Out[1]: 3
    

    这是jupyter笔记本生成的pdf

    In[1]: =3 
    Out[1]: 3
    

    使用生成的pdf不是这种情况 nteract 其中表达式 =3 已完全打印出来。但是,生成的pdf的总体外观 交互作用 没有生成的pdf好 jupyter笔记本 .

    以下是打印pdf生成的 交互作用 (看起来与代码本身完全相同):

    In[1]: λ=3
    Out[1]: 3
    

    有人知道如何用 jupyter笔记本 ?

    非常感谢

    1 回复  |  直到 6 年前
        1
  •  5
  •   hckr    6 年前

    这个问题与Jupyter本身如何生成和编译latex文件有关。默认情况下,Jupyter使用 xelatex 支持Unicode。 我猜是吧 然而, xelatex公司 需要在文件中进行一些配置,而Jupyter不会生成使用普通 xelatex公司 命令

    您可以更改Jupyter的配置,以编译使用 pdflatex latex 命令

    解决方案: 查找Jupyter配置目录(即 jupyter --config-dir ,通常在Linux上 ~/.jupyter . 要了解jupyter IJulia使用的是run using IJulia; IJulia.jupyter 然后找出该jupyter的配置目录)

    创建文件 jupyter_notebook_config.py 如果没有,则已在该目录中。

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

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

    然后,您可以像往常一样使用笔记本导出PDF文件。字符应该显示得恰到好处。只要 pdflatex 命令位于shell中。

    如果您没有 pdflatex 但是有 乳胶 您还可以使用以下行代替上面的代码:

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

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

    希望它能起作用!