====== 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:35] 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 ==== | ||
+ | |||
+ | Cette option permet de formater l'affichage des décimales des valeurs dans le tableau. | ||
+ | |||
+ | Par exemple : | ||
+ | <code> | ||
+ | //code latex// | ||
+ | .pt formatage 3 | ||
+ | .pt math [ ] | ||
+ | .t /mon/chemin/val.txt | ||
+ | //code latex// | ||
+ | </code> | ||
+ | |||
+ | permet d'afficher les nombres avec trois chiffres après la virgule. | ||
===== code ===== | ===== code ===== | ||
- | <code latex> | + | Téléchargement : {{:mc:ptab.zip|}} |
+ | |||
+ | <code perl> | ||
#!/usr/bin/perl | #!/usr/bin/perl | ||
# ----------------------------------------------------------------------------- | # ----------------------------------------------------------------------------- | ||
Ligne 90: | 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 119: | 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 125: | 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++){ |