Voilà bien longtemps que je n'avais rien posté sur ce forum, ce qui ne m'empêchait pas d'utiliser TeXgraph! Aujourd'hui, je tente une nouvelle utilisation et j'ai qq problèmes.
J'essaie d'écrire un code réutilisable pour dessiner une règle du gamma utilisée en chimie pour visualiser une réaction entre 2 réactifs placés de part et d'autre d'un axe vertical (gradué en potentiel) et formant ainsi une lettre gamma minuscule.
Je joins le code utilisé et un aperçu du résultat :
- Code: Tout sélectionner
\begin{texgraph}[name=X_Chimie/ImagesTD_chimie/GammaSnZn,export=pgf,auto=false,file,call]
Cmd
Window(-0.5+3*i, 0.5-1.5*i, 12.6666666666667+6.33333333333333*i);
Margin(1, 0.5, 0.5, 1);
Border(0);
[OriginalCoord(1), IdMatrix()];
[theta:=0.5236, phi:=1.0472, IdMatrix3D(), ModelView(ortho)];
GrayScale(0);
Cmd [tMin:=-3,tMax:=3.2,DotScale:=1+i];
Graph Gamma = [view(-1.5,1,tMin,tMax),size(7,2.5), Width:=8, Arrows:=1,
LabelSize:=large,
LabelAxe(y,3*i,"$E(\text{V})$"),
//%%%%%%%%%%%%%%%%%%%%COUPLE 1
//%%%%%%%%%%%%%%%%%%%%%%%%Définition potentiel le plus bas = 1
E1:=-0.76,DotStyle:=cross,LabelSize:=small,LabelDot(E1*i,"$-0,76$","E",1),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition oxydant couple 1
Ox1:=-0.35+E1*i,LabelSize:=large,
LabelDot(Ox1,"\ce{Zn^2+}","O"),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition réducteur couple 1 : il est encadré car fait partie des espèces présentes en sol
Red1:=+0.35+E1*i,
LabelDot(Red1,"$\uuline{\ce{Zn}}$","E"),
//%%%%%%%%%%%%%%%%%%%%COUPLE 2
//%%%%%%%%%%%%%%%%%%%%%%%%Définition potentiel le plus haut = 2
E2:=-0.14,LabelSize:=small,LabelDot(E2*i,"$-0,14$","E",1),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition oxydant couple 2 : il est souligné car fait partie des espèces présentes en sol
Ox2:=-0.35+E2*i,
LabelSize:=large,LabelDot(Ox2,"$\uuline{\ce{Sn^2+}}$","O"),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition réducteur couple 2
Red2:=+0.35+E2*i,
LabelDot(Red2,"$\ce{Sn}$","E"),
//%%%%%%%%%%%%%%%%%%%%COUPLE 3
//%%%%%%%%%%%%%%%%%%%%%%%%Définition potentiel 3 : couple de l'eau oxydant
E3:=0.00,LabelSize:=small,LabelDot(E3*i,"$0,00$","E",1),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition oxydant couple 3 : il est souligné car fait partie des espèces présentes en sol
Ox3:=-0.35+E3*i,
LabelSize:=large,LabelDot(Ox3,"$\uuline{\ce{H2O}}$","O"),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition réducteur couple 3
Red3:=+0.35+E3*i,
LabelDot(Red3,"$\ce{H2}$","E"),
//%%%%%%%%%%%%%%%%%%%%COUPLE 4
//%%%%%%%%%%%%%%%%%%%%%%%%Définition potentiel 4 : couple de l'eau réducteur
E4:=1,23,LabelSize:=small,LabelDot(E4*i,"$1,23$","E",1),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition oxydant couple 4
Ox4:=-0.35+E4*i,
LabelSize:=large,LabelDot(Ox4,"$\ce{O2}$","O"),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition réducteur couple 4 : il est souligné car fait partie des espèces présentes en sol
Red4:=+0.35+E4*i,
LabelDot(Red4,"$\uuline{\ce{H2O}}$","E"),
//%%%%%%%%%%%%%%%%%%%%COUPLE 5
//%%%%%%%%%%%%%%%%%%%%%%%%Définition potentiel 5 : couple de dichlore
E5:=1,36,LabelSize:=small,LabelDot(E5*i,"$1,36$","E",1),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition oxydant couple 5
Ox5:=-0.35+E5*i,
LabelSize:=large,LabelDot(Ox5,"$\ce{Cl2}$","O"),
//%%%%%%%%%%%%%%%%%%%%%%%%Définition réducteur couple 5 : il est souligné car fait partie des espèces présentes en sol
Red5:=+0.35+E5*i,
LabelDot(Red5,"$\uuline{\ce{Cl^-}}$","E"),
//%%%%%%%%%%%%%%%%%%%%%%%%Tracé du gamma entre E1 et E2
bd:=0.05-0.05*i,//%%% décalage départ de flèche/gamma
hd:=0.05+0.05*i,//%%% décalage arrivée de flèche/gamma
Width:=20,Arrows:=0,Color:=red,
Bezier(Red1 -bd,E1*i -i,Ox1+hd),
Ligne([Ox2+bd,Red1 -bd],0),
Arrows:=1,Ligne([Ox1+hd,Red2 -hd],0),
//%%%%%%%%%%%%%%%%%%%%%%%%Tracé axe vertical seul (sans graduation régulière)
Color:=black, Width:=5,Ligne([tMin*i,tMax*i],0),
];
\end{texgraph}
L'idée étant ensuite de pouvoir le réutiliser en modifiant les valeurs notés E1, E2...
Voici mes questions et pb :
1- Les valeurs de E4 et E5 sont différentes, pourtant les LabelDot associés apparaissent au même endroit et se superposent complètement ??? je ne comprends vraiment pas pourquoi!!!
2- J'aimerais pouvoir appliquer un facteur d'échelle verticale (en gros un facteur 2) afin d'étirer l'image donnée verticalement et séparer les différents couples. J'ai essayé pour cela de jouer avec la commande size(7,2.5), (idéalement, il faudrait qqch du genre size (20,1)), mais alors les Labels deviennent minuscules et changer LabelSize en Huge, ne change rien (sinon agrandir le label de l'axe E(V),mais pas les "légendes" les points Zn, H2O....)!
Une idée ?
3- Mais ce serait juste la cerise sur le gâteau Y aurait-il un moyen simple de dessiner ce gamma plus joliment, sachant que je préfère conserver le caractère réutilisable de mon code, plutôt qu'il soit beau juste sur cet exemple! Dans mon code, j'ai simplement utiliser 2 segments (dont le second fléché) et une courbe de Bezier
4- Cette dernière question est la seule peut-être qui est bien associée à la rubrique choisie! Pouvez-vous me confirmer qu'en plaçant des %%% dans le code TeXgraph (bien qu'au sein d'un fichier .tex), cela ne permet pas de réaliser les commandes TeXgraph, en gros cela fait planter même la compilation Latex, ou bien y a-t-il qqch à déclarer que je n'ai pas fait ?
D'avance merci pour vos réponses.
Karine
PS1 : le code latex \ce{}, utilise le package mhchem (il permet en l'ocurrence d'écrire les formules de chimie en mode "text", ici c'est équivalent à \mathrm{})
PS2 : j'ai utilisé TeXgraph 1.98 avec Kubuntu 16.04
PS3 : le titre du sujet n'est pas terrible, j'en suis désolée!