【问题标题】:Convert ipynb to pdf in Jupyter在 Jupyter 中将 ipynb 转换为 pdf
【发布时间】:2016-08-23 07:14:42
【问题描述】:

我是 ipython notebook 的新手,我想将我的 ipynb 转换为 pdf。但是当我尝试通过 LaTex 下载为 PDF 时出现以下错误。

nbconvert failed: pdflatex not found on PATH

没有关于如何将 pdflatex 添加到我的 PATH 的文档。我用窗户。谢谢!

【问题讨论】:

  • 你安装了 Latex 吗?如果没有,您需要以MikTex 之类的形式安装它。如果你有它,有关于更改路径here 的说明。
  • @ThomasK 谢谢!您的意思是添加安装 miktex 的路径?
  • 它应该在某个地方安装一个pdflatex.exe 文件。 PATH 需要包含包含它的目录。
  • 我得到的是xelatex 而不是pdflatex
  • 当我去下载 Latex 时,它说下载 MikTex 所以,我的 .exe 说 basic-miktex-2.9.6850-x64 - 我的路径与我的 ipynb 文件所在的路径相同,但它仍然不工作?

标签: jupyter jupyter-notebook


【解决方案1】:

一个简单且令人惊讶的好解决方案是通过浏览器使用ctrl+p 将笔记本打印为pdf。只需确保您的绘图和图形未处于交互模式,否则它们将不会显示(将它们设置为 %matplotlib inline)。

通过 Latex 导出 jupyter notebook 非常麻烦,并且需要大量修改才能使远程接近发布的内容做好准备。当我绝对需要出版质量时,我会在乳胶编辑器上进行,但 tutorial 详细介绍了在 jupyter 上进行。

获得更好结果的一些有用提示:

【讨论】:

    【解决方案2】:

    对于Mac OS X,我的解决方案是先安装MacTex,然后导出路径找到它:

    ### TeX
    export PATH="/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:$PATH"
    

    您可以将其添加到您的 .bash_profile 或类似的配置文件中以每次加载它。

    在此处查看更多信息https://github.com/jupyter/nbconvert/issues/406

    【讨论】:

    • 在我的zshrc 中在 MacOS 上完美运行。谢谢
    • 这个 Mactex 的东西到底怎么可能需要 3.9Gb 才能下载?
    • 对于较新版本的 MacTeX:export PATH="/Library/TeX/texbin:$PATH"
    【解决方案3】:

    如cmets中Thomas K所说,您需要安装Latex,并将包含pdflatex.exe文件的目录的路径添加到系统的PATH变量中。

    我寻找了一个轻量级发行版并尝试安装TeXworks,但我没有找到任何pdflatex.exe 文件。
    所以我尝试了TeX Live,它在目标安装目录下创建pdflatex.exe 文件效果很好。这条路径应该类似于C:\...\texlive\2016\bin\win32
    最后,只需将此路径添加到系统的PATH 环境变量中(可以使用Thomas K 共享的链接)。

    here所说,在进行任何路径更改后,您需要退出jupyter notebook并打开一个新的命令提示符,以便jupyter找到PATH中新添加的项目。

    然后,在 Jupyter 中,您可以通过运行以下命令检查您的环境变量(有关详细信息,请参阅此link):

    导入操作系统 os.environ['PATH'].split(';')

    并检查它是否包含pdflatex.exe 文件的路径。

    如果由于缺少文件/包而在将笔记本导出为 pdf 时遇到问题(这发生在我身上),请参考 link 在 TeX Live 下搜索并安装它们。

    【讨论】:

    • 此解决方案适用于 Windows - Mac OS X 版本见下文
    • 一个小问题...您需要在新的命令提示符下重新启动 jupyter notebook 才能看到新添加的 PATH 项
    【解决方案4】:

    对于 Linux,报告的错误是由于缺少 XeLatex,这是 texlive-xetex 软件包的一部分。

    在 ubuntu 中的安装将是: sudo apt install texlive-xetex

    【讨论】:

      【解决方案5】:

      除了使用 nbconvert 你可以做的是:

      1. 从文件选项将您的 ipynb 文件下载为 HTML。
      2. 右键单击并选择打印或使用Ctrl+P
      3. 另存为 PDF

      简单。

      【讨论】:

        【解决方案6】:

        这是对我有用的完整解决方案(适用于 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

        【讨论】:

          【解决方案7】:

          我同意乳胶安装(至少在 Windows 上)是痛苦的,并且在我的案例中结果不是一个好看的文档。如果您在 JupyterLab 中运行,单独使用 ctrl-p 方法效果不佳,但如果您将笔记本导出为 HTML,然后从浏览器打印,选择 PDF,则结果非常好。

          【讨论】:

            【解决方案8】:

            我知道我的解决方案不在一个级别。但它有效!

            在您的笔记本标签浏览器中,只需按“ctrl + p”即可以pdf格式下载

            【讨论】:

              【解决方案9】:

              首先将笔记本文件导出为 HTML(可通过文件>下载为..)。
              如果您使用的是 JupyterLab,则可以在 File > Export Notebook As... 下找到它。
              使用(任何)免费在线转换器将 html 文件转换为 pdf 文件。 (一个这样的免费在线转换器是sejda (https://www.sejda.com/html-to-pdf)

              注意,网上有很多这样的转换器。

              【讨论】:

                【解决方案10】:

                对于错误 500

                Debian 或 Ubuntu 用户:-

                首先,在终端安装:-

                sudo apt-get install texlive-full
                

                然后

                conda install -c conda-forge pandoc
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2019-11-23
                  • 2015-05-12
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-04-25
                  • 1970-01-01
                  相关资源
                  最近更新 更多