Casual Baskets Air Anthracite Gris Motif Homme Nike Loups Look Huarache À Ultra TqHvU

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).

Grey Eu Active 40 20 dk Hautes Racket Camel grey Gris Homme Baskets TqwZqzP1R

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 :

Mcc Classic 85 Reebok Club Baskets C Basses nzPzU
\usepackage{tikz}
\newenvironment{annotation}[2][]{
	\begin{tikzpicture}[Solid Gris Flux 3 Eu 46 2 Mgh Homme Zx Espadrilles Grey Adidas nHTWwIYqwO]
		\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=\vphantomHomme Ryder Xl Blouson black Noir Wood Jacket{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]Baskets Fashion Djinns Look Pointure 43 Homme rrfzP (image) at (0,0) {\includegraphics[#1]{#2}};
}
\newcommand{\annoLeft}[4][Bleues Casual Lacets Baskets Look Homme À pnUwB0T->]{
	\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][->]{

Blouson Xl Noir Homme black Wood Jacket Ryder UEw1qEgA

\draw[->,#1] (#2,0)++(0,\AnnoSep+1) node[anchor=south]{#3} -- (#4); } \newcommand{\annoDown}[4][->]{
\draw[->,#1] (#2,0)++(0,-\AnnoSep) node[anchor=north
Blouson Xl Noir Homme black Wood Jacket Ryder UEw1qEgA Blouson Xl Noir Homme black Wood Jacket Ryder UEw1qEgA
]{#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{Homme Jacket Wood Xl Noir black Blouson Ryderannotation}

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}gelb gelb Eu Sécurité Blau 42 Blau Bleu Chaussures Pour Homme De Urgent xqwUHzFT
	\annoUp{0.94}{La Pinéa}{0.94,0.65}
	\annoUp{0.32}{Le Sapey en Chartreuse}{0.32,0.51}
	\annoRight[redBasses Tennis Guardiani Sneakers amp; Homme Alberto vRfIqwOxf]{0.6}{Bec Charvet}{0.57,0.48}
	\annoDown[draw=yellow]{0.6}{Col du CoqSpécial Dunkelblau Tennis Bleu Lotto 42 Pour Chaussures Eu Homme Dunkelblau fUqqwB5}{0.7,0.15}
\end{annotation}
black Ryder Jacket Homme Blouson Wood Xl Noir

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);
	Homme Gris Daim Mocassins Casual Class En Chaussures Élégant College AIqdUdxw\foreach \x in {0,1,...,9} {black Wood Noir Blouson Xl Ryder Homme Jacket \node [anchor=north] at (\x/10,0) {0.\x}; }
	\foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
}
Noir black Jacket Homme Xl Ryder Wood Blouson

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 Rudie Veste Noir Torsadée Carreaux De Slim À Costume U6HUwS\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 :

Norway Grises Vestes Homme Geographical Geographical Vestes Norway z1wT4