wasn IPython/Jupyter Problèmes d'économie de cahier en PDF




pandoc unix (8)

En tant que tout nouveau membre, je n'ai pas été en mesure d'ajouter simplement un commentaire sur le post, mais je tiens à appuyer que la solution proposée par Phillip Schwartz a fonctionné pour moi. Espérons que les gens dans une situation similaire vont essayer cette voie plus tôt avec l'accent. Ne pas avoir de pauses de pages a été un problème frustrant pendant un certain temps, donc je suis reconnaissant pour la discussion ci-dessus.

Comme l'a dit Phillip Schwartz: "Vous devrez installer wkhtmltopdf: [ http://wkhtmltopdf.org/downloads.html][1]

et Nbconvert "

Vous ajoutez ensuite une cellule du type "rawNBConvert" et incluez:

<p style="page-break-after:always;"></p>

Cela a semblé faire l'affaire pour moi, et le PDF généré a eu le saut de page aux emplacements correspondants. Vous n'avez pas besoin d'exécuter le code personnalisé, car il semble que le chemin "normal" de téléchargement du cahier en HTML, l'ouverture dans le navigateur, et l'impression au format PDF fonctionne une fois que ces utilitaires sont installés.

Donc, j'ai essayé de sauver un cahier jupyter en PDF, mais je ne peux pas comprendre comment faire cela. La première chose que j'essaie est de télécharger le fichier en format PDF, mais cela entraîne:

nbconvert failed: PDF creating failed

la prochaine chose que j'essaie est d'essayer de faire la conversion à partir de l'invite de commande comme ça

$ ipython nbconvert --to latex --post PDF MyNotebook.ipynb 

mais encore une fois, cela entraîne un message d'erreur

ImportError: No module named 'PDF'

et si j'essaye

$ ipython nbconvert --to latex MyNotebook.ipynb 

cela se traduit par

IPython.nbconvert.utils.pandoc.PandocMissing: Pandoc wasn't found:
Please check that pandoc is installed

si j'essaie d'installer pandoc ( pip install pandoc ), cela me donne

ImportError: No module named 'ConfigParser'

et c'est là que je suis coincé parce que je ne sais pas quoi faire d'autre. Quelqu'un a-t-il une idée de comment réparer ce qui ne va pas?


Comme le disent les commentaires à la question, vous aurez besoin de pandoc et de latex (par exemple TeXShop). J'ai installé pandoc avec Homebrew, il a fallu juste une seconde. Ayant pandoc et TeXShop, je pouvais générer du latex mais pas de pdf (sur la ligne de commande).

ipython nbconvert --to latex mynotebook.ipynb

En explorant le fichier latex (.tex) avec TeXShop, l'échec était dû à des feuilles de style et des defs manquantes. Après l'installation de tous ceux-ci (adjustbox.sty, adjcalc.sty, trimclip.sty, collectbox.sty, tc-pgf.def, ucs.sty, uni-global.def, utf8x.def, ucsencs.def), il a finalement fait travail.

Cependant, le résultat semble un peu trop funky à mon goût. Il est dommage que l'impression du code html de Safari perde la coloration syntaxique. Sinon, ça ne semble pas si mal. (Tout est sur OS X).


J'ai eu toutes sortes de problèmes à comprendre cela aussi. Je ne sais pas si cela vous fournira exactement ce dont vous avez besoin, mais j'ai téléchargé mon bloc-notes sous forme de fichier HTML, puis je l'ai extrait dans mon navigateur Chrome, puis je l'ai imprimé sous forme de fichier PDF. Il a capturé tout mon code, texte et graphiques. C'était assez bon pour ce dont j'avais besoin.


Ce que j'ai trouvé, c'est que le nbconvert / utils / pandoc.py avait un bug de code qui a entraîné l'erreur pour ma machine. Le code vérifie si pandoc est dans votre chemin de variables environnementales. Pour ma machine, la réponse est non. Cependant pandoc.exe est!

La solution consistait à ajouter '.exe' au code de la ligne 69

if __version is None:
    if not which('pandoc.exe'):
        raise PandocMissing()

Il en va de même pour 'xelatex' qui n'est pas installé. Ajouter au fichier nbconvert / exportateurs / pdf.py sur la ligne 94

    cmd = which(command_list[0]+'.exe')

2015-4-22: On dirait qu'une mise à jour d'IPython signifie que --to pdf devrait être utilisé au lieu de --to latex --post PDF . Il y a un problème connexe Github .


Si vous utilisez la version cloud de sagemath , vous pouvez simplement aller dans le coin gauche,
sélectionnez Fichier -> Télécharger sous -> Pdf via LaTeX (.pdf)
Vérifiez la capture d'écran si vous le souhaitez.

Capture d'écran Convertir ipynb en pdf

Si cela ne fonctionne pas pour une raison quelconque, vous pouvez essayer d'une autre manière.
sélectionnez Fichier -> Aperçu avant impression, puis sur l'aperçu
faites un clic droit -> Imprimer, puis sélectionnez Enregistrer en pdf.


Ce problème a été rencontré avec Ubuntu et Mac OSX. Après un ensemble effréné de recherches et d'essais, les deux ont été résolus. Cela nécessite à la fois tex et pandoc ; Les deux programmes externes jumbo ne peuvent pas être installés par pip Python.

Mac OSX: utilisation de l'installation MacPorts de Pandoc

port install pandoc

Cela devrait prendre près d'une heure à compléter (dans le cas habituel ). Si le problème persiste, vous devrez peut-être installer la distribution MacTeX. de TeXLive.

Pour Ubuntu: installez vanilla TeXLive à partir de l' installateur réseau - et non via apt-get . Ensuite, installez pandoc en utilisant apt-get.

sudo apt-get install pandoc

Une installation complète de TeXLive nécessiterait jusqu'à 4,4 Go sur le disque.

Pour sauvegarder tous ces problèmes, la manière recommandée d'utiliser IPython / Jupyter Notebook serait d'installer la distribution Anaconda Python.


Pour le faire fonctionner, j'ai installé du latex, du latex supplémentaire et du pandoc.

Avec ubuntu:

sudo apt-get install texlive texlive-latex-extra pandoc

cela prend quelques fois: plusieurs 100 Mo à télécharger. J'ai lu quelque part que vous pouvez utiliser --no-install-recommends pour texlive et extra pour réduire à la dl.





jupyter