Go to content

AgrégationChimie

Tikz : dessiner des figures avec LATEX

J'étais récemment à la recherche d'un système pour créer des images haute qualité de molécules. Après avoir essayé molden et molekel, je me suis rendu compte que l'export n'était pas toujours facile car difficilement modifiable une fois crée et parfois qualité d'image insuffisante liée à une compression et des effets d'aliasing.

J'ai donc cherché des modules pour pouvoir faire mes dessins directement sous Latex, je suis donc tombé sur Tikz. Malgré une apparente complexité, la galerie existante sur Texamples a été décisive, en effet, de magnifiques graphiques avec les sources correspondantes y sont présentés, on peut donc ainsi voir des exemples pour s'en inspirer.

Ayant besoin de représenter des structures cristallographiques de molécules, j'ai ensuite essayé de voir si il était possible de rapidement passer d'un fichier .xyz à un dessin de la molécule sous Tikz. J'ai donc crée ces petits scripts qui lisent les fichiers xyz pour ensuite recréer les molécules correspondantes. Bien évidemment, rien n'est parfait, surtout vu que tikz gère assez mal les représentation tridimensionnelles. Les scripts sont donc chargés de faire des rotations afin de rendre le point de vue intéressant. Il faut ensuite bidouiller pour que la perspective ne semble pas aberrante. En général, le problème principal est de ne pas respecter la profondeur de l'image, les liaison étant tracées en premier et les atomes par dessus, il faut donc modifier l'ordre de dessin pour rendre réaliste le dessin.

Un des intérêts majeurs de Tikz est de ne pas avoir à sortir de latex pour pouvoir tout faire, en général, je crée un dessin dans un fichier tex puis j'importe le pdf dans mon document afin de ne pas l'encombrer de commandes Tikz. Cependant, le fait de créer des images vectorielles à son prix : il faut compter une demi-journée de travail pour réaliser un dessin comme celui présenté ci-dessus.

Pour les points négatifs : pour le tracé de graphs, tikz est rapidement limité lorsque les valeurs sont trop grandes, c'est très dommage, mais avec un peu d'effort, on peut toujours se ramener à un intervalle suffisamment petit, mais au cout de modifications en amonts via un tableur ou autre, de plus, la gestion trop succincte de la 3D est un peu frustrante.

Go to top

Liens

Go to top
Go up