Comment (forcer) PDF les diapositives d'un notebook IPython

introduction

J'ai écrit une entrée Je veux annoncer ma thèse de fin d'études sur IPython Notebook, mais l'autre jour, j'ai terminé l'annonce de la thèse de fin d'études, donc je la rapporterai plus tard. Je le ferai.

En conclusion, le bloc-notes IPython est idéal pour ** les membres de l'équipe, le partage d'informations en laboratoire et les démonstrations de programmes, mais pour les présentations de thèse de fin d'études où vous passez beaucoup de temps à créer des diapositives. Le bénéfice de l'effort est faible **.

La raison pour laquelle je pensais ainsi était la suivante.

Certains des problèmes ont été mentionnés dans les articles précédents, je les ai donc résolus, mais le fait que la première section soit encore moins flexible peut être édité graphiquement comme PowerPoint et KeyNote. Comparé à celui-ci, il est inférieur. Je pense que cela peut être un substitut au Beamer de LaTeX (mais Beamer a plus de liberté).

Cette fois, je présenterai un script pour alléger la dernière partie, "J'ai du mal à convertir en fichier pdf".

Comment (forcer) PDF les diapositives d'un notebook IPython

Mon environnement: OS: Ubuntu 14.04 WM: Xmonad 0.11 Commandes requises: --ʻImport (Paquet: imagemagick) --convert (paquet: imagemagick) --xte` (Paquet: xautomation)

Prenez une capture d'écran et enregistrez-la au format jpg ou png, et utilisez la commande convert pour convertir ces images avec des numéros de série en un fichier pdf.

xte est une commande incluse dans un package appelé xautomation dans Ubuntu, qui vous permet d'utiliser le clavier et la souris depuis le shell. est. Utilisez cette fonctionnalité pour automatiser l'action de prendre des captures d'écran, vous libérant des tracas. De plus, ça fait du bien de voir l'écran bouger sans rien faire.

Voici un simple script que j'ai créé. Veuillez lire dans votre propre environnement.

#!/bin/bash

folder=$(pwd)
num=40
xte 'keydown Super_L' 'key 4' 'keyup Super_L'
for t in `seq 1 ${num}`
do
    name=$(printf screen_%03d.jpg $t);
    sleep 0.5
    import -window root -quality 0 ${folder}/${name}
    xte 'key Right'
done
xte 'keydown Super_L' 'key 3' 'keyup Super_L'
exit 0

Comment utiliser

Faites correspondre au préalable la résolution du moniteur à la résolution du projecteur. xrandr --output HDMI1 --mode 1024x768 Etc.

Ensuite, dans un autre espace de travail, entrez en mode diapositive de Notebook et gardez-le en plein écran (pour prendre une capture d'écran de cet écran entier).

Étant donné que l'image est enregistrée dans le répertoire lors de l'appel du script, je pense qu'il est préférable d'appeler le script à partir du répertoire nouvellement créé. Veuillez changer «num» en fonction du nombre de diapositives. La prochaine ligne d'opérations utilisant xte vous amène à l'espace de travail dans lequel le navigateur s'exécute. Ceux qui se déplacent avec les touches fléchées doivent réécrire comme tel.

Lorsque vous exécutez le script, vous serez redirigé vers l'espace de travail 4 où vous visualisez la diapositive, prenez une capture d'écran en plein écran sans compression avec la commande ʻimport`, et appuyez sur la touche → pour passer à la diapositive suivante (Page Down to Subslide). Peut également être inclus). Répétez cette opération et revenez à l'espace de travail 3 lorsque vous avez pris le nombre de photos spécifié.

Après avoir pris les diapositives, supprimez les diapositives inutiles et vérifiez si elles sont dans l'ordre PDF.

convert -page 1024x768 -gravity Center *.jpg out1.pdf

Créez un fichier pdf comme celui-ci.

Résumé

Dans mon cas, j'ai pu faire une présentation dans Notebook, mais personne n'était sceptique sur ce point et on m'a posé des questions sur la recherche. C'est un peu solitaire, mais bien sûr. Étant donné que la version PDF du matériel est souvent utilisée pour les présentations en laboratoire, il peut encore y avoir des possibilités de l'utiliser. Mais après tout, je pense qu'il vaut mieux faire des diapositives avec Impress of LibreOffice. Je pense que Notebook convient à mon propre brouillon et en tant que tutoriel pour le programme.

Recommended Posts

Comment (forcer) PDF les diapositives d'un notebook IPython
[IPython] Comment partager un bloc-notes IPython
Comment utiliser IPython Notebook
Jupyter Notebook Principes d'utilisation
Comment faire revivre des cellules dans le notebook iPython
Comment déboguer avec Jupyter ou iPython Notebook
Comment utiliser IPython
Comment utiliser Jupyter Notebook
Comment importer NoteBook en tant que module dans Jupyter (IPython)
Comment voir le contenu du fichier ipynb du notebook Jupyter
Comment importer NoteBook en tant que module dans Jupyter (IPython)
Résumé de l'utilisation de pandas.DataFrame.loc
Conversion de pdf en txt 1 [pdfminer]
Résumé de l'utilisation de pyenv-virtualenv
Résumé de l'utilisation de csvkit
[Python] Résumé de l'utilisation des pandas
Comment accélérer la belle instanciation de soupe
Comment se débarrasser des longues inclusions
Comment vérifier la version de Django
Comment installer CatBoost [à partir de janvier 2020]
Comment calculer Utiliser% de la commande df
Comment exécuter des commandes avec Jupyter Notebook
[Python2.7] Résumé de l'utilisation d'unittest
Comment utiliser le notebook Jupyter avec ABCI
Bases de PyTorch (1) -Comment utiliser Tensor-
Comment utiliser le débogueur IPython (ipdb)
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Comment utiliser le bloc-notes Jupyter [super basique]
Résumé de l'écriture d'AWS Lambda
[Question] Comment utiliser plot_surface de python
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
Comment rendre la largeur de police du notebook jupyter mis dans pyenv égale
Comment calculer la volatilité d'une marque
Comment trouver la zone du diagramme de Boronoi
[Python] Comment utiliser deux types de type ()
Comment suivre le travail avec Powershell
Résumé de la façon d'importer des fichiers dans Python 3
Pas beaucoup de mention de la façon d'utiliser Pickle
Résumé de l'utilisation de MNIST avec Python
Comment spécifier des attributs avec Mock of Python
Comment implémenter "named_scope" de RubyOnRails avec Django
Comment obtenir des éléments de type dictionnaire de Python 2.7
Conversion par lots de fichiers Excel en JSON [Python]
[Java] Comment basculer entre plusieurs versions de Java
Présentation de Spark à EC2 et liaison d'iPython Notebook
Comment forcer TensorFlow 2.3.0 à construire pour CUDA11 + cuDNN8
Créer une table avec le notebook IPython