###########################################################################
# 
# Cette doc est perimee (mais nammoins utile :-) !
# 
###########################################################################

      Quelques Astuces pour Utiliser stead au mieux
		
*******************************************************************************
Insrer des caractres huit bits  l'aide des touches de fonction :
Rajouter dans votre fichier ~/.tk/stead/steadrc
les ligne suivantes :
bind .main.t <F1> {ins \x61}         ;# "a"
bind .main.t <Shift-F1> {ins \x41}   ;# "A"
trouver les bonnes valeurs pour 
    
    
                                
*******************************************************************************

                        LE UNDO ET LA PERFORMANCE

Si les performances de TE sont trop ralenties, on peut inhiber le undo (utiliser
"disable undo" dans le menu Edit) ou liberer la memoire des undo ("clear undo
memory")
(par exemple avant de faire une recherche/remplacement sur
un fichier de plusieurs mga) 

*******************************************************************************

                        INDENTATION DE LA SELECTION

L'indentation effectue un traitement assez lourd sur les tabulations
(par exemple une indentation de 1 espace peut obliger  la conversion
des caracteres <Tab> en >space> en fonction des preferences.
Aussi,refuse-t-elle de fonctionner si la selection est trop 
importante : selectionnez moins de 300 lignes a la fois pour les indenter

*******************************************************************************

			BALANCE et PERFORMANCE

ATTENTION : la selection des balance peut prendre un certain temps si
le fichier comporte beaucoup d'elements de balance

*******************************************************************************

                     ASTUCE D'UTILISATION DE BALANCE 
                     -------------------------------

Pour aller au debut d'une longue parenthese qu'on vient de fermer (par
exemple le corps d'une longue procedure TCL...), taper la sequence 
suivante :
 
    <FLECHE GAUCHE> < Meta-b> <FLECHE GAUCHE>

Explication :
 
<FLECHE GAUCHE> : pour se positionner juste avant la parenthese fermante
< Meta-b>       : pour selectionner toute la parenthese
<FLECHE GAUCHE> : pour se positionner en debut de selection puis 
                  deselectionner

*******************************************************************************

              APPEL A UNIX : permet de combler les lacunes de l'editeur
              ---------------------------------------------------------


1 - Exemple d'utilisation des menus "File/Insert UNIX cmd..." et 
    "Pipe Through unix cmd..."

    pour inserer le rsultat de la commande "ls -al"
    
    Menu "FILE/Insert-output of..." taper "ls -al"
    
    total 4356
    drwxr-xr-x  37 diam     lei         3072 May  4 08:00 .
    drwxr-xr-x  21 diam     lei         3072 May  4 08:27 ..
    -rwxr-xr-x   1 diam     lei        25381 Oct 22  1993 .newsrc
    drwxr-xr-x   2 diam     lei         1024 Mar 21 08:36 ALLIANCE
    drwxr-xr-x   2 diam     lei         1024 Jul 29  1993 ARCHITECTURE
    
    Pour supprimer les lignes correspondant a des repertoires : selectionner le
    texte, et filtrer la selection par la commande UNIX : 
    Menu "PIPE/Unix Pipe through..." et taper "grep ^\[^d\]"
    (Noter les "\" avant les crochets pour eviter l'interpretation TCL)
    
    -rwxr-xr-x   1 diam     lei        25381 Oct 22  1993 .newsrc
    
    
    ON PEUT AUSSI taper directement :
    Menu "FILE/Insert-output of..." taper "ls -al | grep ^\[^d\]"


2 - Pour remplacer rapidement les caracteres CR (fin de ligne Mac) 
    par LF (Fin de ligne UNIX)

    Menu "PIPE/Unix Pipe through..." et taper "tr \015 \012"

*******************************************************************************

                  ASTUCES UTILISANT LA RECHERCHE REMPLACEMENT
                  -------------------------------------------

  Probleme : 
  ^^^^^^^^^^
  
  Comment supprimer une grande zone de texte mal dfinie, par exemple pour 
  supprimer les 12 premires pages d'un fichier postscript  imprimer.
  
  Solution  :
  ^^^^^^^^^^^
  
   - chercher la chaine "Page" ou "showpage" pour voir l'allure des 
      commande de saut de page,
  
   - En fonction du resultat, on peut :
  
      chercher :  
      
          "%%Page: slide_1 1.*%%Page: slide_12 12"
                            ^^  ==> ces deux meta-caracteres representent 
                                    une chaine quelconque
          
      et remplacer par :
      
          "%%Page: slide_12 12"
  
                                
      en utilisant les options suivantes :
          
         - "Regexp-find"   avec l'option "Regexp-global"
                           (ou supprimer l'option "Regexp-by-line"

  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  Probleme : 
  ^^^^^^^^^^
  
  Comment supprimer les pages 2  108 d'un fichier postscript (latex)
  d'une thse qu'on avait "presque' fini d'imprimer...
  
  Solution  :
  ^^^^^^^^^^^
  
  - vrifier que le format des pages est bien de la forme :
    
    %%Page: 109 121
    avec :
    - 109 = numro de la page rellement indiqu sur la feuille imprime
    - 121 = numro d'ordre de la page du fichier
    
  - reprer les deux pages de dbut et de fin du texte dont l'impression 
    a russi (s'aider en recherchant du texte rellement imprim sur 
    la page)
    
      - chercher la chaine "%%Page: 2 " pour voir si la page 2
        correspond bien  la premire ou dernire page imprime. 
     
      - chercher la chaine "%%Page: 109 " pour voir si la page 109
        correspond bien  la premire ou dernire page imprime. 
 
   - On peut alors recherche la chaine rgulire :
        "%%Page: 2 2\n.*%%Page: 109 121\n"
     et la remplacer par :
         %%Page: 109 121\n
     
     
      l'aide de la commande suivante (menu "File/Issue TCL Command")
         
    
    
     ra "%%Page: 2 2\n.*(%%Page: 109 121\n)" {\1}
                      ||                      ^^ reprsente l'expression 
                      ||                         parenthse prcdente
                      ||
                      ^^  ==> ces deux meta-caracteres representent 
                              une chaine quelconque
     
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   
   Problme : 
   ^^^^^^^^^^
   supprimer les lignes ajoute par l'assembleur GNU.
   Elle sont due la forme :
   ---
   \x0c68K GAS  POPO.s 			page 1
   
   
   ---
   sauf pour la premire ligne o le caractere "\x0c" n'existe pas.
   
   Solution :
   ^^^^^^^^^^
   Utiliser la commande "ra" (pour Replace All) :
   
      ra "\[^\n\]?68K GAS\[^\n\]+\n\n\n" ""
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   
   Problme : 
   remplacer toutes chaine de la forme : \verb|qqchose|
   par des chaine du type : \cmd{qqchose}
   Solution :
   Recherche (regexp global ou by-line) : \\verb\|([^|]+)\|
   remplacer par : \cmd{\1}

   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   Problme :  Supprimer les espaces en fin de ligne dans tout le fichier
   Solution :
          ra " +\n" \n
   ou pour tenir compte des tabulations :
          ra "\[ \t\]+\n" \n

   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   Problme :  remplacer les multiples espaces par un seul sauf en 
               dbut de ligne
   Solution :
          ra "(\[^ \t\n\r\])\[ \t\]+"  {\1 }

   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   Problme :  remplacer    <a name=todo> 
               ou           <A name="todo"  </a> 
               par :   <a name="todo"</a>
   Solution :
          remplacer : <[aA] +name *= *"?([a-zA-Z0-9-_]*)"? *>( *</a>)?
          par :       <a name="\1"></a>

   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

########################################################################
                  Utilisation de la ligne de commande TCL
                  ---------------------------------------
Pour remplacer dans tout un document un morceau de texte (de plusieurs lignes)
par un autre :

<Meta-T> ou menu "File/Issue TCL command..."

selectionner le texte initial (a la souris)
Mmoriser la selection dans t1 en tapant
    set t1 $S

selectionner le texte de remplacement
Mmoriser la selection dans t2 en tapant
    set t2 $S
    
Puis effectuer le remplacement par (voir REMARQUE CI-DESSOUS)
    ra $t1 $t2
    
REMARQUE : la procdure ra actuelle travaille avec des chaines rgulire :
attention si le chaine t1 contient des meta-caracteres


########################################################################
Faire des calcule dans stead

Utiliser le menu "Extra" . S'il est absent : l'appeler dans le menu 
"Config/Make Extra Menu"

    Attention : pour l'instant la partie dcimale est
    dfinie en utilisant le point et non pas la vigule !! 


Slectionner un ensemble de nombres (mme avec la slection 
rectangulaire), puis :

- Menu "Extra/Addistion Selection" pour accumuler tous les
  nombre contenus dans la slection.

- <Escape-k> permet de calculer l'expression slectionne (voir
  la doc de la commande expr de tcl)

Autre solution 
Si vous devez manipuler plusieurs fois la slection,
Utiliser la ligne de commande (faire plusieurs moyennes sur 15 
notes) :

    tcl> expr [stringSum $S]/15.0
############################################################
