【问题标题】:Cannot display Unicode Characters (like λ) in PDF output of Jupyter无法在 Jupyter 的 PDF 输出中显示 Unicode 字符(如 λ)
【发布时间】:2018-09-09 21:49:22
【问题描述】:

我在 jupyter notebook 中使用 Julia。

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

这里是 jupyter notebook 代码

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

这里是用 jupyter notebook 生成的 pdf

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

使用nteract 生成的pdf 不是这种情况,其中表达式λ=3 被完全打印出来。但是,使用nteract 生成的 pdf 的整体外观不如使用jupyter notebook 生成的 pdf。

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

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

有人知道如何用jupyter notebook 打印这样的字符吗?

在此先感谢

【问题讨论】:

  • 复制一些最少的代码会有所帮助。
  • 我尝试了接受的答案,不幸的是它对我不起作用。然后我找到了一种通过使用$\lambda$ 这种符号来跳过这个问题的方法,幸运的是它对我有用。所以,简而言之,不要使用unicode字母,而是回复latex语法生成希腊字母。

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


【解决方案1】:

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

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

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

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

将下面这行代码放在这个文件的最后并保存:

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

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

如果您没有pdflatex 但有latex,您也可以使用以下行代替上面的代码:

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

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

希望它有效!

【讨论】:

  • 遗憾的是,这对我不起作用,我收到类似“!Package ucs Error: Unknown Unicode character 12479 = U+30BF”之类的错误,
  • ['pdflatex', '{filename}']
  • 问题可能与您的 Latex 发行版有关。您可以尝试pdflatex 与您笔记本的 Latex 副本(下载为 *.tex)吗?
猜你喜欢
  • 2017-01-05
  • 2012-09-27
  • 2011-12-06
  • 2023-03-19
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
相关资源
最近更新 更多