This commit is contained in:
Quentin 2021-03-05 14:27:42 +01:00
parent 2f259f94ce
commit adca6a734a

View file

@ -15,7 +15,7 @@ il n'est pas possible d'intégrer directement des images au format JPG, PNG ou a
Si aujourd'hui le plus simple est d'utiliser un compilateur LaTeX qui produit des fichiers au format PDF et supporte les formats d'image précédents, Si aujourd'hui le plus simple est d'utiliser un compilateur LaTeX qui produit des fichiers au format PDF et supporte les formats d'image précédents,
ce n'est pas toujours possible. ce n'est pas toujours possible.
Dans ce guide, nous supposons donc que nous souhaitons garder une sortie DVI-TEX / PostScript. Dans ce guide, nous supposons donc que nous souhaitons garder une sortie DVI-Tex / PostScript.
Pour ce faire, nous utiliserons l'outil `convert` du projet [ImageMagick](https://imagemagick.org/index.php) (fiche [Wikipedia](https://fr.wikipedia.org/wiki/ImageMagick)) Pour ce faire, nous utiliserons l'outil `convert` du projet [ImageMagick](https://imagemagick.org/index.php) (fiche [Wikipedia](https://fr.wikipedia.org/wiki/ImageMagick))
pour convertir préalablement les images au format EPS. pour convertir préalablement les images au format EPS.
@ -39,7 +39,7 @@ sudo apt install imagemagick
## Notre image de test ## Notre image de test
Nous allons utiliser [une photo](https://quentin.dufour.io/assets/images/posts/dijkstra.jpg) de [Dijkstra](https://fr.wikipedia.org/wiki/Edsger_Dijkstra) pour nos tests, que l'on peut télécharger sur notre système comme suit : Nous allons utiliser [une photo](https://quentin.dufour.io/assets/images/posts/dijkstra.jpg) de [Dijkstra](https://fr.wikipedia.org/wiki/Edsger_Dijkstra) pour nos tests, que vous pouvez télécharger comme suit :
```bash ```bash
wget https://quentin.dufour.io/assets/images/posts/dijkstra.jpg wget https://quentin.dufour.io/assets/images/posts/dijkstra.jpg
@ -53,7 +53,7 @@ wget https://quentin.dufour.io/assets/images/posts/dijkstra.jpg
convert dijkstra.jpg dijkstra.eps convert dijkstra.jpg dijkstra.eps
``` ```
L'outil `convert` de ImageMagick a de nombreux paramètres qui sont tous décrits en détails dans le manuel (`man convert`). `convert` a en effet de nombreux paramètres qui sont tous décrits en détails dans le manuel (`man convert`) dont les valeurs par défaut ne sont pas toujours appropriées.
Ici nous nous penchons seulement sur les deux problèmes suivants : Ici nous nous penchons seulement sur les deux problèmes suivants :
- Les images sont trop grandes et pixelisées à cause d'une valeur par défaut inadéquate du paramètre `density` - Les images sont trop grandes et pixelisées à cause d'une valeur par défaut inadéquate du paramètre `density`
- Les images sont trop lourdes car aucune compression n'est utilisée pour la sortie - Les images sont trop lourdes car aucune compression n'est utilisée pour la sortie
@ -61,15 +61,16 @@ Ici nous nous penchons seulement sur les deux problèmes suivants :
Les images sont représentées sous forme de pixels mais les sorties LaTeX raisonnent en centimètres: il faut donc choisir combien de pixels on met par centimètres. Les images sont représentées sous forme de pixels mais les sorties LaTeX raisonnent en centimètres: il faut donc choisir combien de pixels on met par centimètres.
On parle souvent de [DPI](https://fr.wikipedia.org/wiki/Point_par_pouce) pour ce problème, ImageMagick utilise le terme de densité. On parle souvent de [DPI](https://fr.wikipedia.org/wiki/Point_par_pouce) pour ce problème, ImageMagick utilise le terme de densité.
La valeur de densité par défaut de `convert` est très basse (probablement autour de `96` pour des raisons historiques). La valeur de densité par défaut de `convert` est très basse (probablement autour de `96` pour des raisons historiques).
D'expérience, je recommande une valeur entre `172` et `300` pour éviter de se retrouver avec une image pixelisée. D'expérience, je recommande une valeur entre `172` et `300` pour éviter de se retrouver avec une image pixelisée, à ajuster en fonction de la taille voulue.
Ensuite, le format EPS historiquement ne supporte pas de compression, ce qui fait des images très larges par défaut. Ensuite, historiquement, le format EPS ne supporte pas de compression et produit des images très lourdes par défaut.
Notre image originale, au format JPG, fait `846 ko`. Convertie sans compression, sa taille grimpe à `12 Mo`. Notre image originale au format JPG fait `846 ko` ; convertie sans compression, sa taille grimpe à `12 Mo`.
Au delà de la taille sur le disque, une telle taille est problématique car elle peut faire planter la compilation ou la visioneuse. Au delà de la taille sur le disque, une telle taille est problématique car elle peut faire planter la compilation ou la visionneuse.
Heureusement, [StackOverflow](https://stackoverflow.com/questions/5350246/convert-jpg-to-eps-format) nous apprend que des évolutions du format qui supportent la compression existe, il suffit de préfixer notre fichier de sortie par `eps2:` ou `eps3:` (exemple: `eps2:dijkstra.eps`). Heureusement, [StackOverflow](https://stackoverflow.com/questions/5350246/convert-jpg-to-eps-format) nous apprend que des évolutions du format existent : ces dernières ont l'avantage de supporter la compression.
En choisissant l'un ou l'autre, on revient sur une taille similaire au JPG d'origine, de `841 ko`. Pour les utiliser il suffit de préfixer notre fichier de sortie par `eps2:` ou `eps3:` (exemple: `eps2:dijkstra.eps`).
En choisissant un format ou l'autre, on revient sur une taille similaire au JPG d'origine, de `841 ko`.
La commande finale que je recommande donc pour la conversion : La commande finale que je recommande pour la conversion est donc :
```bash ```bash
convert -density 300 dijkstra.jpg eps2:dijkstra.eps convert -density 300 dijkstra.jpg eps2:dijkstra.eps
@ -93,7 +94,7 @@ Que je compile ensuite :
latex trombi.tex latex trombi.tex
``` ```
Et que je peux ouvrir ensuite : Et que je peux ouvrir avec :
``` ```
xdg-open trombi.dvi xdg-open trombi.dvi