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