====== Différences ====== Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
mc:ptab [2008/12/18 19:41] maxime |
mc:ptab [2010/06/29 06:15] (Version actuelle) newacct |
||
|---|---|---|---|
| Ligne 18: | Ligne 18: | ||
| ptab monfichier.tex | ptab monfichier.tex | ||
| </code> | </code> | ||
| + | |||
| + | ===== Fonctionnement ===== | ||
| + | |||
| + | Lors de l'utilisation de ptab, il se crée un fichier val.tex contenant le code tex du tableau uniquement, puis dans le fichier //maître// tex, les lignes de //commandes// sont commentées et une ligne d'inclusion ''\include{val}'' est rajoutée. | ||
| + | La notation //acceptée// des nombres est celle qu'accepte perl (la notation avec E pour les puissances de 10 est correctement traitée). | ||
| + | |||
| + | |||
| + | ===== Exemple ===== | ||
| + | |||
| + | On a le fichier de valeurs ''dat.dat'' suivant : | ||
| + | <code> | ||
| + | 1.001 2 3.7 4.34 5.0 6 7 8 9 10 | ||
| + | 11 12 13 14 15 16 17 18 19 20 | ||
| + | 21 22 23 24 25 26 27 28 29 30 | ||
| + | </code> | ||
| + | |||
| + | et le fichier ''test.tex'' suivant : | ||
| + | |||
| + | <code latex> | ||
| + | \documentclass[a4paper]{article} | ||
| + | \usepackage[latin1]{inputenc} | ||
| + | \usepackage[frenchb]{babel} | ||
| + | \usepackage{amsmath} | ||
| + | |||
| + | \begin{document} | ||
| + | Du text qui se répète... Du text qui se répète... Du text qui se | ||
| + | répète... Du text qui se répète... Du text qui se répète... Du text | ||
| + | qui se répète... Du text qui se répète... Du text qui se répète... Du | ||
| + | text qui se répète... | ||
| + | |||
| + | |||
| + | \section{Une section} | ||
| + | .pt formatage 2 | ||
| + | |||
| + | .t /fichiers/programation/perl/dat.dat | ||
| + | |||
| + | \end{document} | ||
| + | </code> | ||
| + | |||
| + | On execute ptab : | ||
| + | |||
| + | <code> | ||
| + | $> ptab test.tex | ||
| + | </code> | ||
| + | |||
| + | Alors le fichier ''dat.tex'' est créé au //niveau// de ''test.tex'' : | ||
| + | |||
| + | <code latex> | ||
| + | \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|} | ||
| + | \hline | ||
| + | 1.00&2.00&3.70&4.34&5.00&6.00&7.00&8.00&9.00&10.00\\\hline | ||
| + | 11.00&12.00&13.00&14.00&15.00&16.00&17.00&18.00&19.00&20.00\\\hline | ||
| + | 21.00&22.00&23.00&24.00&25.00&26.00&27.00&28.00&29.00&30.00\\\hline | ||
| + | \end{tabular} | ||
| + | </code> | ||
| + | |||
| + | et le fichier ''test.tex'' est devenu : | ||
| + | |||
| + | <code latex> | ||
| + | \documentclass[a4paper]{article} | ||
| + | \usepackage[latin1]{inputenc} | ||
| + | \usepackage[frenchb]{babel} | ||
| + | \usepackage{amsmath} | ||
| + | |||
| + | \begin{document} | ||
| + | Du text qui se répète... Du text qui se répète... Du text qui se | ||
| + | répète... Du text qui se répète... Du text qui se répète... Du text | ||
| + | qui se répète... Du text qui se répète... Du text qui se répète... Du | ||
| + | text qui se répète... | ||
| + | |||
| + | \section{Une section} | ||
| + | %@patb .pt formatage 2 | ||
| + | |||
| + | %@ptab .t /fichiers/programation/perl/dat.dat | ||
| + | |||
| + | \include{dat} | ||
| + | |||
| + | \end{document} | ||
| + | </code> | ||
| + | |||
| + | Il reste alors à faire une compilation LaTeX ! | ||
| ===== Options ===== | ===== Options ===== | ||
| Ligne 24: | Ligne 105: | ||
| <code> | <code> | ||
| .pt <les paramètres> | .pt <les paramètres> | ||
| + | </code> | ||
| + | |||
| + | La définition des paramètres n'est pas valable pour le document entier, elle n'est valable que //jusqu'à// une prochaine définition de paramètres. Par exemple, on peut très bien faire : | ||
| + | |||
| + | <code> | ||
| + | //code latex// | ||
| + | .pt math ( ) | ||
| + | .t /mon/chemin/dat1.dat | ||
| + | |||
| + | //code latex// | ||
| + | .pt tableau | ||
| + | .t /mon/chemin/dat2.dat | ||
| + | |||
| + | //code latex// | ||
| </code> | </code> | ||
| Ligne 30: | Ligne 125: | ||
| Il existe deux modes, tableau classique avec l'environnement ''tabular'', et tableau //mathématiques// avec l'environnement ''array''. | Il existe deux modes, tableau classique avec l'environnement ''tabular'', et tableau //mathématiques// avec l'environnement ''array''. | ||
| - | La mode classique est le mode par défaut, il n'y a pas d'option particulière... | + | Le mode classique est le mode par défaut, il n'y a pas d'option particulière... |
| + | |||
| + | **Remarque** Pour revenir en mode tableau, on utilise la commande : | ||
| + | <code> | ||
| + | .pt tableau | ||
| + | </code> | ||
| === Mode math === | === Mode math === | ||
| - | Pour ce mettre en mode math : | + | Pour se mettre en mode math : |
| <code> | <code> | ||
| Ligne 48: | Ligne 148: | ||
| == Parenthèses -- Crochets == | == Parenthèses -- Crochets == | ||
| - | On règle, en plus de passé en mode math, les délimiteurs. Ceci se fait après l'indication ''math'' en rentrant le délimiteur gauche et le droit séparés par **un espace**. Ci-dessus, on a choisi les parenthèses. | + | On règle, en plus de passé en mode math, les délimiteurs. Ceci se fait après l'indication ''math'' en rentrant le délimiteur gauche et le droit séparés par **un espace**. Ci-dessus, on a choisi les parenthèses, on obtiendra donc une matrice avec parenthèse. |
| ==== Formatage ==== | ==== Formatage ==== | ||
| Ligne 66: | Ligne 166: | ||
| ===== code ===== | ===== code ===== | ||
| + | |||
| + | Téléchargement : {{:mc:ptab.zip|}} | ||
| <code perl> | <code perl> | ||
| Ligne 105: | Ligne 207: | ||
| open(WTEX, ">$chemin/$nomw"); # ouverture en ecriture d'un fichier .w (de travail) | open(WTEX, ">$chemin/$nomw"); # ouverture en ecriture d'un fichier .w (de travail) | ||
| while (<WORK>){ #pour chaque ligne du document original | while (<WORK>){ #pour chaque ligne du document original | ||
| - | @ligne = split /\s+/; # on séparer chaque mots de chaque ligne | + | @ligne = split; # on séparer chaque mots de chaque ligne |
| if($ligne[0] eq ".pt"){ # on lit le paramétrage | if($ligne[0] eq ".pt"){ # on lit le paramétrage | ||
| if($ligne[1] eq "math"){ # si math | if($ligne[1] eq "math"){ # si math | ||
| Ligne 134: | Ligne 236: | ||
| open(DAT, "$ligne[1]") or die "Impossible d'ouvrir $ligne[1]"; #on ouvre ce fichier | open(DAT, "$ligne[1]") or die "Impossible d'ouvrir $ligne[1]"; #on ouvre ce fichier | ||
| open(DATTEX, ">$chemin/$prefixe\.tex"); # on cree un fichier $prefixe.tex dans lequel il y aura le tableau en latex | open(DATTEX, ">$chemin/$prefixe\.tex"); # on cree un fichier $prefixe.tex dans lequel il y aura le tableau en latex | ||
| - | $taille = split/\s+/, <DAT>; #on recupere le nombre de colonne | + | $taille = split ' ', <DAT>; #on recupere le nombre de colonne |
| close(DAT); | close(DAT); | ||
| open(DAT, "$ligne[1]"); | open(DAT, "$ligne[1]"); | ||
| Ligne 140: | Ligne 242: | ||
| print(DATTEX "$deliml\\begin\{$type\}\{$inter$c\}\n$separvert\n"); # on commence notre tableau (ca depend des options) | print(DATTEX "$deliml\\begin\{$type\}\{$inter$c\}\n$separvert\n"); # on commence notre tableau (ca depend des options) | ||
| while(<DAT>){ | while(<DAT>){ | ||
| - | @lignedat= split/\s+/; | + | @lignedat= split; |
| $tail= @lignedat; | $tail= @lignedat; | ||
| for($i=0;$i<$tail;$i++){ | for($i=0;$i<$tail;$i++){ | ||