Quiconque fait un peu de micrographie a déjà pu constater que les barres d’échelle faites par les logiciels de microscopie sont rarement élégantes, quand elles sont lisibles. Un moyen de concilier l’utile à l’agréable est d’utiliser TikZ pour mettre l’échelle en surcouche.
Exemple de rendu
Code associé
Dans le préambule :
\usepackage{graphicx} \usepackage{tikz} \usepackage{siunitx} \newcommand{\scalebar}[5]{ \begin{tikzpicture} \def\coinInfx{0.05} % Position du coin inférieur gauche (x) \def\coinInfy{0.2cm} % Position du coin inférieur gauche (y) \def\epai{0.1cm} % Epaisseur du trait \draw (0,0) node[anchor=south west,inner sep=0] (image) {\includegraphics[#2]{#1}}; \begin{scope}[x={(image.south east)},y={(image.north west)}] \fill [fill=blue, fill opacity=0.5] (\coinInfx,\coinInfy) rectangle +(#4/#3,2ex); \fill [white] (\coinInfx,\coinInfy+2ex) rectangle +(#4/#3,\epai); \draw [white] (\coinInfx+#4/#3/2,\coinInfy+2ex) node[anchor=north,inner sep=0.1em, font=\footnotesize]{\SI{#4}{#5}}; \end{scope} \end{tikzpicture} } |
A l’endroit où vous souhaitez inclure la figure :
\scalebar{_adresse-de-l'image_}{_dimensions-souhaitées-de-l'image_}{_largeur-reelle-de-l'image_}{_valeur_affichée_}{_unités_} |
On utilise ici le merveilleux package SIunitx pour afficher les unités proprement. Dans mon exemple, je voulais insérer la figure en pleine largeur. La micrographie mesurait 3244 µm de large, et je souhaitais afficher une barre de 500 µm. Ma commande était donc :
\scalebar{Micro.jpg}{width=\textwidth}{3244}{500}{\micro\meter} |
Gros avantage par rapport à toutes les échelles « en dur » : même en changeant la dimension de l’image sur le document, la barre gardera la même épaisseur, et surtout la même police :
Crédit
Rendons à César ce qui est à César, ce code a été librement adapté depuis celui donné ici, je n’ai fait que le rendre plus robuste.
Bonne compilation !