Quelle est la meilleure façon d'imprimer un bloc-notes iPython (.ipynb
) qui contient beaucoup de figures/tracés, de photos et de code qui apparaîtraient avec une barre de défilement horizontale? J'ai essayé de les convertir en HTML, diapositives, PDF, etc., mais aucun n'a produit une sortie décente. Par exemple, les diapositives ont une police/zoom très grande de telle sorte qu'une page ne contient pas plus de 5 lignes de texte. J'ai essayé GitPrint, mais ce n'est bon que pour les fichiers de démarques (md
). J'ai essayé de convertir ipynb
en tex
et d'utiliser pdflatex
pour convertir au format PDF, mais il y a beaucoup d'erreurs et je reste bloqué avec un point d'interrogation Invite (?
). Lorsque j'appuie sur Entrée, la sortie ne contient pas les photos. Alors, quelle est la meilleure façon ici? Je ne me soucie pas de l'extension, seulement qu'elle a l'air bien (comme le ipynb
) sur papier.
Vous pouvez utiliser nbconvert
pour convertir le fichier ipynb en HTML et la question sera: comment imprimer un joli fichier HTML? Et imprimer un fichier HTML serait beaucoup plus facile que d'imprimer un fichier ipynb.
La commande est comme ceci:
jupyter nbconvert --to html filename.ipynb
Je pense que j'ai trouvé une solution décente car j'étais coincé avec le même problème. Pour une impression esthétique du bloc-notes Jupyter (format .pdf) pour l'utilisation de l'étude et de l'apprentissage (sous forme de diapositives de cours), je recommande de prendre une impression à l'aide de votre navigateur Web (Chrome: Print = Ctrl + P) .
Résultat: un document agréable sur le plan esthétique, contenant tous les codes, les images intégrées dans un cahier Jupyter.
tl: dr Évitez toute conversion dans l'option de bloc-notes Jupyter; imprimer directement à partir du navigateur Web.
Le moyen le plus simple et flexible consiste à utiliser CSS. Par exemple, placez le code suivant dans une cellule et exécutez. Je supprimerai tous les blocs de code et les blocs de sortie. De cette façon, vous pouvez contrôler ce que vous voulez.
%%html
<style>
div.input {
display: none;
padding: 0;
}
div.output_Prompt {
display: none;
padding: 0;
}
div.text_cell_render {
padding: 1pt;
}
div#notebook p,
div#notebook,
div#notebook li,
p {
font-size: 11pt;
line-height: 135%;
margin: 0;
}
.rendered_html h1,
.rendered_html h1:first-child {
font-size: 16pt;
margin: 7pt 0;
}
.rendered_html h2,
.rendered_html h2:first-child {
font-size: 14pt;
margin: 6pt 0;
}
.rendered_html h3,
.rendered_html h3:first-child {
font-size: 13pt;
margin: 6pt 0;
}
div.output_subarea {
padding: 0;
}
</syle>