Tableau de variation d'une fonction




J'ai écris un petit programme en Perl permettant de tracer le tableau de variation d'une fonction, comme ci-dessus, en LaTeX. Il faut plus le voir comme un exercice de programmation que comme un programme vraiment utile, mais je veux bien croire qu'il puisse rendre des services à certains.

0. Copyright

(S'il n'y en a pas, prendre celui du GNU.)

1. Installation

Il faut trois choses (en plus de LaTeX) : Le programme se lance alors en tapant
  Tableau & 

2. Exemple commenté

Nous voulons réaliser le tableau de la fonction f(x) = x^2.

3. Détails supplémentaires

À écrire. (Il n'y a pas grand-chose d'autre.)

Les boites de dialogue disparaissent toutes seules. Liste des menus. Menu file : load, new, save as, save, quit. Menu Help : info, help Liste des fonctions. Texte. Position (intersections, g/d), patience. Flèches. Extrémité en cas d'ambiguité (ne s'affiche pas : l'un des défauts du logiciel). lignes, lignes doubles. ajout de ligne/colonne. delete (pas de fonction undo : c'est l'un des gros défauts du logiciel). La barre d'état. Le mode courrant. la fonction des touches de la souris dans ce mode. Le nom du fichier courrant (dans la barre de titre rajoutées par le WM). Les captures d'écran correspondent à la version 0.06.

4. Format du fichier

Le fichier utilisé est un fichier LaTeX tout à fait valable. Il contient d'une part la description du dessin, sous une forme compréhensible par le programme, dans des lignes qui pour LaTeX sont des commentaires. Si on enlève le caractère « % » en début de ligne, c'est du code Perl tout à fait normal. (En particulier, si vous voulez écrire vous-même un fichier dans ce format, vous pouvez utiliser toute la puissance du langage : boucles, fonctions, etc. ; en faisant lire un tel fichier par le programme et en le sauvant, vous obtiendrez un code LaTeX correspondant. Cela dit, je ne vois pas pourquoi on voudrait faire une telle chose...)
% Text->new(7,6,"1","center");
% Arrow->new(1,5,3,8);
% Text->new(1,6,"f","e");
% Text->new(8,3,"-","center");
% Text->new(3,5,"+\\infty","w");
...
Vient ensuite le code LaTeX générant la figure, grace à Xy-Pic. Il est normal que ce soit illisible : ce n'est pas fait pour être lu.
\xy <0pt,0pt>;<1cm,0cm>:<0cm,-.5cm>::
  (2,2) *+!L{\ -\infty}!C="11",
  (6,6) *+!R{+\infty\ }!C="23",
  (4,4) *+{0}="14",
  (4,8) *+{0}="24",
  (3,4) *+{-}="15",
  (2,6) *+!L{\ +\infty}!C="25",
  (5,4) *+{+}="16",
  (4,2) *+{0}="7",
  (2,2) *+!R{x\ }!C="17",
  (2,4) *+!R{f'\ }!C="18",
  (6,2) *+!R{+\infty\ }!C="9",
  (2,7) *+!R{f\ }!C="19",
  \ar@{-}(2,1);(2,9)
  \ar@{-}(1,3);(6,3)
  \ar@{-}(1,5);(6,5)
  \ar@{-}(6,1);(6,9)
  \ar@{-}(4,3);(4,5)
  \ar "25";"24"
  \ar "24";"23"
\endxy

5. Configuration

Il est possible de configurer le programme, à l'aide d'un fichier ~/.tableaurc, contenant du code Perl. Voici quelques exemples de ce que l'on peut y mettre.

6. Notes sur l'implémentation

...


Vincent Zoonekynd <zoonek@math.jussieu.fr>
Last modified: Tue Jun 1 12:37:29 MET DST 1999