Subversion Repositories wimsdev

Rev

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
                         chemeq V1.10-1 
2
                   chemeq V1.10-1 
3
        -------------------------------------------
3
        -------------------------------------------
4
                              (c)2000 G. Khaznadar
4
                   (c)2000 G. Khaznadar
5
                  <georgesk@boltz.univ-littoral.fr>
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.