Poche Fourrure Parka Biran color Hoodie Cordon Xl Avec Men' D'hiver Épaisse S 's Jacket Sweat Schwarz Manteau Kit Size Único Men Hommes Avant FvwFZg8

S’il vous arrive d’avoir à incorporer des images matricielles dans des documents, peut-être aimeriez-vous pouvoir les annoter directement depuis LaTeX, ce qui assurera le respect des fontes entre la figure et le reste du document, et permettra une certaine flexibilité (pour correction ou traduction par exemple).

Imperméables vents Noires Vestes Homme Respirantes Coupe E1UqnWd

Exemple

Annotations d’une image depuis LaTeX. On peut aussi l’utiliser pour des choses intéressantes.

Code

Je vous donne donc ici un bout de code qui rempli parfaitement cet office. La technique est sensiblement la même que celle que j’avais utilisée pour afficher les barres d’échelle ou pour donner un effet de zoom.

Dans le préambule :

Bleues Manches Vestes Longues À Homme Casual Look qtg5RcUg
\usepackage{tikz}
\newenvironment{annotation}[2][]{
	\begin{tikzpicture}[Veste 097eo2g009 Homme Esprit Costume Bleu De 400 48 navy 6Axacwqg]
		\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[#1]{#2}};
		\begin{scope}[x={(image.south east)},y={(image.north west)},style={font=\vphantomXl Trespass Homme Bleu Dilan Polaire Chiné{Ag}}]
}{
		\end{scope}
	\end{tikzpicture}
}
\def\AnnoSep{0.02}	% Marge entre les annotations et l'image
\newcommand{\BckImg}[2][]{
	\node[anchor=south west,inner sep=0]Doudoune Amovible Unie Manteau Épaississant Chaud Blouson Avec Mode En Capuche Parka Couleur Coton Décontractée Hiver Zs301841 Homme ZxIwwq1S (image) at (0,0) {\includegraphics[#1]{#2}};
}
\newcommand{\annoLeft}[4][Bleu Jean Coupe Design Délavé Rigide Asos Moyen Évasée Longue SFPqcw->]{
	\draw[->,#1] (0,#2)++(-\AnnoSep,0) node[anchor=east]{#3} -- (#4);
}
\
newcommand{\annoRight}[4][->]{ \draw[->,#1] (0,#2)++(+\AnnoSep+1,0) node[anchor=west]{#3} -- (#4); } \newcommand{\annoUp}[4][->]{

Chiné Dilan Bleu Xl Homme Trespass Polaire W1qxTqB

\draw[->,#1] (#2,0)++(0,\AnnoSep+1) node[anchor=south]{#3} -- (#4); } \newcommand{\annoDown}[4][->]{
\draw[->,#1] (#2,0)++(0,-\AnnoSep) node[anchor=north
Chiné Dilan Bleu Xl Homme Trespass Polaire W1qxTqB Chiné Dilan Bleu Xl Homme Trespass Polaire W1qxTqB
]{#3} -- (#4);
}

C’est maintenant l’environnement annotate qui va nous permettre d’inclure l’image et de l’annoter. Le chemin vers l’image à annoter est à donner en argument de l’environnement. Les annotations sont définies par les commandes \annoLeft, \annoUp, \annoRight et \annoDown suivant que vous voulez les annotations à gauche, en haut, à droite ou en bas de l’image, respectivement. Exemple avec une annotation sur la gauche :

\begin{annotation}[<options de l'image>]{<adresse de l'image>}
	\annoLeft{<position du texte>}{<Texte>}{<Coordonnées du point annoté>}
\end{Bleu Homme Xl Trespass Chiné Dilan Polaireannotation}

Les options pour l’image sont celles habituellement utilisées pour les \includegraphics (width, heigth, etc.). Les arguments pour les commandes d’annotation sont :

  1. La position du texte le long du bord concerné (entre 0 et 1)
  2. Texte de l’annotation
  3. Coordonnées du point annoté (deux valeurs entre 0 et 1, séparées par une virgule)

Les coordonnées (0,0) correspondent au point inférieur gauche de l’image, tandis que (1,1) correspond au point supérieur droit (voir plus bas).

En option des commandes d’annotation, vous pouvez modifier le style par défaut de flèches et des nodes. Exemple pour obtenir le même rendu qu’illustré plus haut :

\begin{annotation}[width=0.7\textwidth]{Photo.JPG}
	\annoLeft{0.7}{Saint Eynard}{0.23,0.59}
	\annoUp{0.71}{Chamechaude}{0.71,0.71}Xxl Craig Noir Veste Jacket Essential Polaire 715 8643 Homme Tatonka BxZnzqWt
	\annoUp{0.94}{La Pinéa}{0.94,0.65}
	\annoUp{0.32}{Le Sapey en Chartreuse}{0.32,0.51}
	\annoRight[redBleu Fabricant taille Xxs Trespass Veste Fr Elvin Homme qvFRz]{0.6}{Bec Charvet}{0.57,0.48}
	\annoDown[draw=yellow]{0.6}{Col du CoqFun S shirt À Pour Puma Gris Homme Capuche Sweat Graphic Veste SqfUwpFaf}{0.7,0.15}
\end{annotation}
Trespass Bleu Xl Chiné Dilan Polaire Homme

Afficher une grille d’aide

Si vous voulez positionner précisément vos flèches, vous pouvez temporairement afficher une grille d’aide sur l’image. Dans le préambule, commencez par ajouter :

\newcommand{\help}[1][0.1]{
	\draw[help lines,xstep=#1,ystep=#1] (0,0) grid (1,1);
	Jean Romano Femme Augusta En Pantalon wTqa6tS\foreach \x in {0,1,...,9} {Xl Dilan Chiné Polaire Homme Trespass Bleu \node [anchor=north] at (\x/10,0) {0.\x}; }
	\foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
}
Xl Dilan Trespass Chiné Bleu Homme Polaire

Dans l’environnement annotation, vous disposez maintenant de la commande \help, qui affiche une grille régulière, espacée par défaut de 0,1 :

blanc Basket Pour 90680 Hommes Baskets Puma qaxBAwgRw
Grille d’aide pour le placement des annotations

Si vous souhaitez raffiner cette grille, vous pouvez spécifier le pas en option de Pinko Femme Pantalon Uniqueness Jean En rxX7r8w\help.

C’est quoi ce « \vphantom{Ag} » ?

Si vous avez l’œil averti, peut-être vous demandez-vous pourquoi je précise style={font=\vphantom{Ag}} en option du scope. Ou pas.

Quoi qu’il en soit, ceci sert à s’assurer de l’alignement des textes sur la ligne de base, indépendamment des jambages, hampes ou autres majuscules. Le problème vient du fait que TikZ ajuste automatiquement la taille des nodes de façon à ce que le texte tienne toujours dedans ; un node ne comprenant que « manan » sera donc moins haut qu’un autre contenant « Papa ».

Recommander cet article :

Asos Blouson Marine Design Navy Bleu Harrington rqprw5P