Outils d'utilisateurs

Outils du Site


mc:ptab

====== Différences ====== Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

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++){
mc/ptab.1229625356.txt.gz · Dernière modification: 2008/12/18 19:35 par maxime