Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
17748 | georgesk | 1 | :author: Georges Khaznadar <georgesk@debian.org> |
2 | :copyright: (c)2000-2020 |
||
3 | :licence: GPL V2+ |
||
4 | |||
5 | But de Chemeq |
||
6 | ============= |
||
7 | |||
8 | chemeq est un filtre simple et autonome écrit en langage C, |
||
9 | flex et bison. Il accepte des entrées telles que : |
||
10 | |||
11 | `2H2 + O2 ---> 2 H2O` |
||
12 | |||
13 | et produit sur sa sortie standard du code LaTeX et des messages relatifs |
||
14 | À l'équilibre d'une équation de réaction chimique. |
||
15 | |||
16 | .. code-block:: |
||
17 | |||
18 | example:~/src$ echo "2H2 + O2 ---> 2 H2O" | chemeq -lc |
||
19 | 2\,H_{2}\,+\,O_{2}\,\rightarrow\,2\,H_{2}O |
||
20 | OK |
||
21 | example:~/src$ |
||
22 | |||
23 | |||
24 | ce qui signifie : 2 molécules de dihydrogène réagissent avec une molécule de |
||
25 | dioxygène pour donner deux molécules d'eau. |
||
26 | La première ligne, ``"2\,H_{2}\,+\,O_{2}\,\rightarrow\,2\,H_{2}O"`` est une |
||
27 | réécriture de l'équation en langage LaTeX. |
||
28 | |||
29 | La deuxième ligne `"OK"` signifie que l'équation de réaction est équilibrée. |
||
30 | |||
31 | |||
32 | Quand la chaîne d'entrée n'est pas reconnue, le filtre échoue et |
||
33 | renvoie un code `1`. |
||
34 | |||
35 | .. code-block:: |
||
36 | |||
37 | example:~/src$ echo "2H^2 + O2 ---> 2 H2O" | chemeq -lc |
||
38 | ERROR parse error at 4 |
||
39 | example:~/src$ |
||
40 | |||
41 | |||
42 | NOTE : syntaxe des ions |
||
43 | ----------------------- |
||
44 | |||
45 | Bien que dans certains cas, une expression plus courte soit acceptée, |
||
46 | il est préférable de mettre une flèche haute (^) devant les symboles |
||
47 | de charge d'un ion. |
||
48 | |||
49 | Exemples : `H3O^+, Fe(CN)6^4-, OH^-` |
||
50 | |||
51 | NOTE : crochets |
||
52 | --------------- |
||
53 | |||
54 | L'écriture de crochets est autorisée autour de la notation d'un corps simple, |
||
55 | comme pour `[Fe(CN)6]4-`, et seulement dans ce cas. |
||
56 | |||
57 | NOTE : constantes d'équilibre chimique |
||
58 | -------------------------------------- |
||
59 | |||
60 | Pour les équilibres chimiques, la constante pour l'équation de Gulder-Waage |
||
61 | ou le potentiel pour l'équation de Nernst peut être écrite à la fin de |
||
62 | l'équation, entre parenthèses. Voir quelques exemples dans ``src/test.1``, et |
||
63 | typographiez-les grâce à LaTeX par la commande ``src/chemreport`` |
||
64 | |||
65 | Ce filtre peut être utilisé au sein de systèmes d'examens éducatifs, |
||
66 | pour analyser la réponse d'un étudiant à un problème de physique ou |
||
67 | de chimie. |
||
68 | |||
69 | Les suggestions sont bienvenues. |
||
70 | |||
71 | Les options de chemeq |
||
72 | ===================== |
||
73 | |||
74 | On peut choisir le format de sortie de chemeq en spécifiant quelques options. |
||
75 | Les options valides sont les suivantes : |
||
76 | |||
77 | |||
78 | .. code-block:: |
||
79 | |||
80 | -h produit un message d'aide en anglais (*H*elp) |
||
81 | -m Produit une sortie *M*inimale. Ainsi chemeq est idempotent, |
||
82 | c'est à dire que les commandes 'chemeq | chemeq' et 'chemeq' sont |
||
83 | équivalentes. |
||
84 | -l Produit une chaîne *L*atex représentant l'équation chimique. |
||
85 | -c Produit un message donnant des indications sur la *C*onservation des |
||
86 | éléments et des charges. 'OK' signifie que les éléments et les charges |
||
87 | sont conservés. |
||
88 | -w Produit la chaîne LaTeX qui représente l'équation de Gulder-*W*aage |
||
89 | relative à l'équation chimique, ou l'équation de Nernst, si l'équation |
||
90 | de départ est une demi-réaction rédox. |
||
91 | -n Produit une chaîne *N*ormalisée représentant l'équation de départ. |
||
92 | Deux équations chimiques ayant la même chaîne normalisée sont |
||
93 | chimiquement équivalentes, même si l'ordre des molécules est différent, |
||
94 | et si les coefficients ne sont pas égaux mais proportionnels. |
||
95 | |||
96 | Par défaut, ``chemeq`` est équivalent à ``chemeq -mlcwn``. |
||
97 | |||
98 | INSTALLATION |
||
99 | ============ |
||
100 | |||
101 | Pour compiler chemeq, lancez '``make``' dans le répertoire principal chemeq. |
||
102 | Pour l'installer avec sa page de manuel, lancez '``make install``' dans ce |
||
103 | même répertoire. |
||
104 | |||
105 | TEST et DÉMONSTRATION |
||
106 | ===================== |
||
107 | |||
108 | |||
109 | Si on modifie le code source, il est possible de tester sa conformité |
||
110 | aux versions précédentes en lançant '``make test``' dans le répertoire |
||
111 | principal. |
||
112 | |||
113 | Si '``make test``' répond 'OK' à chaque item, et que latex et xdvi |
||
114 | sont installés, on peut lancer '``make demo``' pour voir quelques |
||
115 | exemples de traitement typographique. |