在 Jupyter 中将 ipynb 转换为 pdf
Convert ipynb to pdf in Jupyter
我是 ipython notebook 的新手,我想将我的 ipynb 转换为 pdf。但是当我尝试通过 LaTex 下载为 PDF 时出现以下错误。
nbconvert failed: pdflatex not found on PATH
没有关于如何将 pdflatex 添加到我的 PATH 的文档。我使用 windows。谢谢!
正如Thomas K在评论中所说,您需要安装Latex,然后将包含pdflatex.exe
文件的目录路径添加到系统的PATH
变量中.
我一直在寻找轻量级发行版并尝试安装 TeXworks,但我没有找到任何 pdflatex.exe
文件。
所以我尝试了 TeX Live,在目标安装目录下创建 pdflatex.exe
文件效果很好。这个路径应该像 C:\...\texlive16\bin\win32
.
最后,您应该将此路径添加到系统的 PATH
环境变量中(您可以使用 Thomas K 共享的 link)。
如前所述here,您需要在进行任何路径更改后退出 jupyter notebook 并打开一个新的命令提示符,以便 jupyter 找到新添加的项目到 PATH
。
然后,在 Jupyter 中,您可以通过 运行 以下内容检查您的环境变量(详情请参阅此 link):
import os
os.environ['PATH'].split(';')
并检查它是否包含 pdflatex.exe
文件的路径。
如果您在将笔记本导出为 pdf 时由于缺少 files/packages 而遇到问题(这发生在我身上),请参阅此 link 在 TeX Live 下搜索并安装它们。
一个简单而出人意料的好解决方案是使用 ctrl+p
通过浏览器将笔记本打印为 pdf。只需确保您的绘图和图形未处于交互模式,否则它们将不会显示(将它们设置为 %matplotlib inline
)。
通过 latex 导出 jupyter notebooks 非常麻烦,需要大量修改才能让远程接近发布的东西做好发布准备。当我绝对需要出版质量时,我会在乳胶编辑器上做,但是这个 tutorial 关于在 jupyter 上做它的长篇大论。
获得更好结果的一些有用提示:
- Higher resolution plots
- 查看 these extensions 以改进您的 jupyter 文档
对于Mac OS X,我的解决方法是先安装MacTex然后导出路径找到:
### TeX
export PATH="/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:$PATH"
您可以将它添加到您的 .bash_profile
或类似的配置文件中,以便每次都加载它。
对于 Linux,报告的错误是由于缺少 XeLatex
,texlive-xetex
包的一部分。
ubuntu 中的安装将是:
sudo apt install texlive-xetex
我同意 latex 安装(至少在 windows 上)很痛苦,而且我的结果不是一个好看的文档。如果您在 JupyterLab 中 运行,单独使用 ctrl-p
方法效果不佳,但如果您将笔记本导出到 HTML,然后从浏览器打印,选择 PDF,结果是挺好的
这是对我有用的完整解决方案(Mac)。
brew cask install mactex
$ cd ~/
$ touch .bash_profile
这将在 TextEditor
上打开 bash 配置文件
$ open -e .bash_profile
将以下内容粘贴到顶部并保存
export PATH="/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:$PATH"
关闭所有笔记本并重新打开
这是一步步解释它的笔记本:
https://github.com/ybaktir/notes/blob/master/Convert%20Jupyter%20Notebook%20to%20Pdf.ipynb
除了使用 nbconvert,您可以做的是:
- 从“文件”选项将您的 ipynb 文件下载为 HTML。
- 右键单击并 select 打印或使用 Ctrl+P.
- 另存为 PDF
简单。
我知道我的解法不在一个层次。但它有效!!
在您的浏览器的笔记本选项卡中,只需执行 "ctrl + p" 即可下载 pdf
首先将笔记本文件导出到 HTML(可通过文件 > 下载为..)。
如果您使用的是 JupyterLab,则可在 File > Export Notebook As....
下找到
使用(任何)免费在线转换器将 html 文件转换为 pdf 文件。 (一个这样的免费在线转换器是 sejda
(https://www.sejda.com/html-to-pdf)
注意,网上有很多这样的转换器。
我是 ipython notebook 的新手,我想将我的 ipynb 转换为 pdf。但是当我尝试通过 LaTex 下载为 PDF 时出现以下错误。
nbconvert failed: pdflatex not found on PATH
没有关于如何将 pdflatex 添加到我的 PATH 的文档。我使用 windows。谢谢!
正如Thomas K在评论中所说,您需要安装Latex,然后将包含pdflatex.exe
文件的目录路径添加到系统的PATH
变量中.
我一直在寻找轻量级发行版并尝试安装 TeXworks,但我没有找到任何 pdflatex.exe
文件。
所以我尝试了 TeX Live,在目标安装目录下创建 pdflatex.exe
文件效果很好。这个路径应该像 C:\...\texlive16\bin\win32
.
最后,您应该将此路径添加到系统的 PATH
环境变量中(您可以使用 Thomas K 共享的 link)。
如前所述here,您需要在进行任何路径更改后退出 jupyter notebook 并打开一个新的命令提示符,以便 jupyter 找到新添加的项目到 PATH
。
然后,在 Jupyter 中,您可以通过 运行 以下内容检查您的环境变量(详情请参阅此 link):
import os os.environ['PATH'].split(';')
并检查它是否包含 pdflatex.exe
文件的路径。
如果您在将笔记本导出为 pdf 时由于缺少 files/packages 而遇到问题(这发生在我身上),请参阅此 link 在 TeX Live 下搜索并安装它们。
一个简单而出人意料的好解决方案是使用 ctrl+p
通过浏览器将笔记本打印为 pdf。只需确保您的绘图和图形未处于交互模式,否则它们将不会显示(将它们设置为 %matplotlib inline
)。
通过 latex 导出 jupyter notebooks 非常麻烦,需要大量修改才能让远程接近发布的东西做好发布准备。当我绝对需要出版质量时,我会在乳胶编辑器上做,但是这个 tutorial 关于在 jupyter 上做它的长篇大论。
获得更好结果的一些有用提示:
- Higher resolution plots
- 查看 these extensions 以改进您的 jupyter 文档
对于Mac OS X,我的解决方法是先安装MacTex然后导出路径找到:
### TeX
export PATH="/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:$PATH"
您可以将它添加到您的 .bash_profile
或类似的配置文件中,以便每次都加载它。
对于 Linux,报告的错误是由于缺少 XeLatex
,texlive-xetex
包的一部分。
ubuntu 中的安装将是:
sudo apt install texlive-xetex
我同意 latex 安装(至少在 windows 上)很痛苦,而且我的结果不是一个好看的文档。如果您在 JupyterLab 中 运行,单独使用 ctrl-p
方法效果不佳,但如果您将笔记本导出到 HTML,然后从浏览器打印,选择 PDF,结果是挺好的
这是对我有用的完整解决方案(Mac)。
brew cask install mactex
$ cd ~/
$ touch .bash_profile
这将在 TextEditor
上打开 bash 配置文件$ open -e .bash_profile
将以下内容粘贴到顶部并保存
export PATH="/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:$PATH"
关闭所有笔记本并重新打开
这是一步步解释它的笔记本: https://github.com/ybaktir/notes/blob/master/Convert%20Jupyter%20Notebook%20to%20Pdf.ipynb
除了使用 nbconvert,您可以做的是:
- 从“文件”选项将您的 ipynb 文件下载为 HTML。
- 右键单击并 select 打印或使用 Ctrl+P.
- 另存为 PDF
简单。
我知道我的解法不在一个层次。但它有效!!
在您的浏览器的笔记本选项卡中,只需执行 "ctrl + p" 即可下载 pdf
首先将笔记本文件导出到 HTML(可通过文件 > 下载为..)。
如果您使用的是 JupyterLab,则可在 File > Export Notebook As....
下找到
使用(任何)免费在线转换器将 html 文件转换为 pdf 文件。 (一个这样的免费在线转换器是 sejda
(https://www.sejda.com/html-to-pdf)
注意,网上有很多这样的转换器。