Latex Tuto
This commit is contained in:
parent
8d9cbfadb4
commit
6fca5294ec
4 changed files with 110 additions and 1 deletions
104
_posts/2021-03-05-latex-dvi-integrer-image.md
Normal file
104
_posts/2021-03-05-latex-dvi-integrer-image.md
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
---
|
||||||
|
layout: post
|
||||||
|
slug: latex-dvi-integrer-image
|
||||||
|
status: published
|
||||||
|
sitemap: true
|
||||||
|
title: Intégrer des images dans des documents LaTeX supportant une sortie DVI-Tex
|
||||||
|
description: Grâce à ImageMagick
|
||||||
|
categories:
|
||||||
|
tags:
|
||||||
|
---
|
||||||
|
|
||||||
|
Pour les compilateurs LaTeX compilant vers le format DVI-Tex (DeVice Independent) / PostScript,
|
||||||
|
il n'est pas possible d'intégrer directement des images au format JPG, PNG ou autre.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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 convertir préalablement les images au format EPS.
|
||||||
|
|
||||||
|
## Installer ImageMagick
|
||||||
|
|
||||||
|
Si la commande `convert` n'est pas disponible sur votre système, vous allez devoir installer ImageMagick.
|
||||||
|
|
||||||
|
Sur Fedora :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo dnf install ImageMagick
|
||||||
|
```
|
||||||
|
|
||||||
|
Sur Ubuntu :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install imagemagick
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 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 :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wget https://quentin.dufour.io/assets/images/posts/dijkstra.jpg
|
||||||
|
```
|
||||||
|
|
||||||
|
## L'outil convert
|
||||||
|
|
||||||
|
`convert` peut être utilisé sans paramètre, mais dans notre cas le résultat de la conversion sera décevant :
|
||||||
|
|
||||||
|
```
|
||||||
|
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`).
|
||||||
|
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 lourdes car aucune compression n'est utilisée pour la sortie
|
||||||
|
|
||||||
|
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é.
|
||||||
|
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.
|
||||||
|
|
||||||
|
Ensuite, le format EPS historiquement ne supporte pas de compression, ce qui fait des images très larges par défaut.
|
||||||
|
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.
|
||||||
|
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`).
|
||||||
|
En choisissant l'un 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 :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
convert -density 300 dijkstra.jpg eps2:dijkstra.eps
|
||||||
|
```
|
||||||
|
|
||||||
|
## Intégrer l'image dans un document LaTeX
|
||||||
|
|
||||||
|
Je créer un fichier LaTeX très simple nommé `trombi.tex`
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\begin{document}
|
||||||
|
\includegraphics{dijkstra.eps}
|
||||||
|
\end{document}
|
||||||
|
```
|
||||||
|
|
||||||
|
Que je compile ensuite :
|
||||||
|
|
||||||
|
```
|
||||||
|
latex trombi.tex
|
||||||
|
```
|
||||||
|
|
||||||
|
Et que je peux ouvrir ensuite :
|
||||||
|
|
||||||
|
```
|
||||||
|
xdg-open trombi.dvi
|
||||||
|
```
|
||||||
|
|
||||||
|
Et voici le résultat !
|
||||||
|
|
||||||
|
![Dijkstra dans Evince](/assets/images/posts/dijkstra-res.png)
|
|
@ -297,7 +297,12 @@ hr {
|
||||||
background: #eee;
|
background: #eee;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.code, code { font-family:Menlo, Monaco, Courier; color: #ffffff; padding: 6px 0px 3px 0px; background-color:#272b2d; font-size:14px; }
|
span.code, p code, ul code{
|
||||||
|
font-family:Menlo, Monaco, Courier;
|
||||||
|
color: #ffffff;
|
||||||
|
padding: 6px 6px 3px 6px;
|
||||||
|
background-color:#272b2d;
|
||||||
|
font-size:14px; }
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
font-family:Menlo, Monaco, Courier;
|
font-family:Menlo, Monaco, Courier;
|
||||||
|
|
BIN
assets/images/posts/dijkstra-res.png
Normal file
BIN
assets/images/posts/dijkstra-res.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 180 KiB |
BIN
assets/images/posts/dijkstra.jpg
Normal file
BIN
assets/images/posts/dijkstra.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 846 KiB |
Loading…
Reference in a new issue