Date: 21 May 93 09:13:32+0100
From: Pascal AMSILI <[email protected]>
Message-ID: <[email protected]>
To: GUT Distribution List <[email protected]>
Subject: Re: Une fac,on portable ? (Enfin)
Reply-To: GUT Distribution List <[email protected]>
Received-Date: Fri, 21 May 1993 09:21:57 +0200
Errors-To: [email protected]
X-Sequence: 6
Status: R

 Merci  a` Laurent  S <[email protected]>, je comprend  maintenant
l'inte're^t  du  port  a`  gauche  des  accents,  bien  que  mon  sens
esthetique (et mes habitudes  anciennes) soit  choque'.   Vivement  la
ge'ne'ralisation de l'ISO-8859 pour simplifier tout c,a !

 En  attendant,  voici  un petit fichier lex qui  peut constituer une
alternative a` email-fr.sty. Son auteur  est  H.  Garavel  (imag).

Ses de'fauts :
 - Il ne permet pas l'emploi de 8-bit (je pense que lex n'est pas
   << 8-bit clean >>)
 - Il  ge`re  aussi  les  ligatures  oe  et  ae,  de fac,on  assez
   intelligente, SAUF si on  a  des morceaux en anglais  (does -->
   d{\oe}s)
 - Il fait a` tort la conversion dans \verb|...|
 - Dans certains  cas  (mode  mathe'matique, par  exemple) il faut
   e'viter soi-me^me des conversions abusives : $e'$ sera converti
   en  $\'{e}$, au grand  dam  de  TeX (Please, use \mathaccent in
   math-mode)

 Je donne un petit extrait du manuel, puis le fichier lex  lui-me^me.
J'espe`re que ce sera utile.

P Amsili ([email protected])

PS : J'ai re'cupe're' tout c,a  (package CorTeX)  il y a longtemps, a`
Grenoble, et je n'ai jamais re'ussi a` joindre l'auteur. J'ai beaucoup
transforme' et appauvri l'ensemble pour l'adapter a`  notre site, mais
il y a des ide'es inte'ressantes qui  me'riteraient d'e^tre  reprises
(e.g.,  ge'ne'ration automatique  d'un Makefile a` partir  du  fichier
tex...).

------------ Cut Here ---------------------------------------------------------
Tabulations
    Les tabulations sont remplacees  par  un  nombre  convenable
    d'espaces,  quelle  que  soient  les  options  de  CorTeX, y
    compris (et surtout) dans les environnements  "verbatim"  et
    "verbatim*"

Ligatures
    Les  caracteres  accentues   suivants   sont   reconnus   et
    transformes en format TeX standard, sauf dans les environne-
    ments "verbatim" et "verbatim*" qui restent inchanges.  Dans
    les  environnements  "tabbing",  cette convention fonctionne
    encore.

    a`              a accent grave
    a^              a accent circonflexe
    a"              a trema
    e'              e accent aigu
    e`              e accent grave
    e^              e accent circonflexe
    e"              e trema
    i^              i accent circonflexe

Sun Release 4.1     Last change: IRIT Juin 92                   2

CorTeX(LOCAL)     MISC. REFERENCE MANUAL PAGES      CorTeX(LOCAL)

    i"              i trema
    o^              o accent circonflexe
    o"              o trema
    u`              u accent grave
    u^              u accent circonflexe
    u"              u trema
    c,              c cedille

    Les memes conventions s'appliquent aux lettres majuscules.

    Laisser un espace apres les virgules, quand elles ne denotent
    pas la cedille. Les cas suivants sont correctement traites:
                    Franc,aise
                    Franc,oise
                    Gerc,ure
                    Donc, il semble
                    j'ai aime'
                    ``j'aime''
                    ``j'ai aime'''

Ligature OE
    CorTeX essaie de reconnaitre  automatiquement  quelles  sont
    les situations ou "oe", "Oe" et "OE" doivent etre liees. Les
    seules bogues constatees concernent les mots

                    moelle (qui s'e'crit sans ligature)
                    oerstite (qui s'e'crit avec ligature)
                    OErsted (qui s'e'crit avec ligature)

    En revanche les exemples suivants sont correctement traites: Boer,
    coefficient, coercitif, foehn, foetus, Noe"l, noeud, oecumenie, Oedipe,
    OEdipe, oeil, oekume`ne, oenante, oestre, oeuf, oeuvre, poe^le, poecile
    poe`te, poe'sie, soeur, voeu ...

    L'utilisateur peut toujours forcer la ligature en ecrivant:
                    {\oe} ou {\OE}

    Il peut egalement l'interdire en ecrivant:
                    {o}{e} ou {O}{E}

Ligature AE
    Les ligatures "ae", "Ae"  et  "AE"  ne  sont  jamais  faites
    automatiquement.  L'utilisateur doit les faire explicitement
    a l'aide des notations
                    {\ae} et {\AE}

Sun Release 4.1     Last change: IRIT Juin 92                   3

CorTeX(LOCAL)     MISC. REFERENCE MANUAL PAGES      CorTeX(LOCAL)

------------ Cut Here ---------------------------------------------------------
%START VERBATIM TABBING

%%

"\\begin{verbatim}"     {ECHO; BEGIN VERBATIM;}
"\\begin{verbatim*}"    {ECHO; BEGIN VERBATIM;}
"\\end{verbatim}"       {ECHO; BEGIN INITIAL;}
"\\end{verbatim*}"      {ECHO; BEGIN INITIAL;}

"\\begin{tabbing}"      {ECHO; BEGIN TABBING;}
"\\end{tabbing}"        {ECHO; BEGIN TABBING;}

<INITIAL,TABBING>"\\"[A-Za-z]+                  ECHO;
<INITIAL,TABBING>"oe"/[BbCcDdIiKkLlNnSsTtUu]    printf ("{\\oe}");
<INITIAL,TABBING>"OE"/[BbCcDdIiKkLlNnSsTtUu]    printf ("{\\OE}");
<INITIAL,TABBING>"Oe"/[BbCcDdIiKkLlNnSsTtUu]    printf ("{\\OE}");

<INITIAL>"a`"           printf ("\\`{a}");
<INITIAL>"A`"           printf ("\\`{A}");
<TABBING>"a`"           printf ("\\a`{a}");
<TABBING>"A`"           printf ("\\a`{A}");

<INITIAL,TABBING>"a^"           printf ("\\^{a}");
<INITIAL,TABBING>"A^"           printf ("\\^{A}");

<INITIAL,TABBING>"a\""          printf ("\\\"{a}");
<INITIAL,TABBING>"A\""          printf ("\\\"{A}");

<INITIAL>"e'''"                 printf ("\\'{e}''");
<INITIAL>"E'''"                 printf ("\\'{E}''");
<TABBING>"e'''"                 printf ("\\a'{e}''");
<TABBING>"E'''"                 printf ("\\a'{E}''");

<INITIAL,TABBING>"e''"          printf ("e{''}");
<INITIAL,TABBING>"E''"          printf ("E{''}");

<INITIAL>"e'"                   printf ("\\'{e}");
<INITIAL>"E'"                   printf ("\\'{E}");
<TABBING>"e'"                   printf ("\\a'{e}");
<TABBING>"E'"                   printf ("\\a'{E}");

<INITIAL>"e`"                   printf ("\\`{e}");
<INITIAL>"E`"                   printf ("\\`{E}");
<TABBING>"e`"                   printf ("\\a`{e}");
<TABBING>"E`"                   printf ("\\a`{E}");

<INITIAL,TABBING>"e^"           printf ("\\^{e}");
<INITIAL,TABBING>"E^"           printf ("\\^{E}");

<INITIAL,TABBING>"e\""          printf ("\\\"{e}");
<INITIAL,TABBING>"E\""          printf ("\\\"{E}");

<INITIAL,TABBING>"i^"           printf("\\^{\\i}") ;
<INITIAL,TABBING>"I^"           printf("\\^{I}") ;

<INITIAL,TABBING>"i\""          printf("\\\"{\\i}");
<INITIAL,TABBING>"I\""          printf("\\\"{I}");

<INITIAL,TABBING>"o\""          printf ("\\\"{o}");
<INITIAL,TABBING>"O\""          printf ("\\\"{O}");

<INITIAL,TABBING>"o^"           printf ("\\^{o}");
<INITIAL,TABBING>"O^"           printf ("\\^{O}");

<INITIAL>"u`"           printf ("\\`{u}");
<INITIAL>"U`"           printf ("\\`{U}");
<TABBING>"u`"           printf ("\\a`{u}");
<TABBING>"U`"           printf ("\\a`{U}");

<INITIAL,TABBING>"u^"           printf ("\\^{u}");
<INITIAL,TABBING>"U^"           printf ("\\^{U}");

<INITIAL,TABBING>"u\""          printf ("\\\"{u}");
<INITIAL,TABBING>"U\""          printf ("\\\"{U}");

<INITIAL,TABBING>"c,"/["aAoOuU"]                printf ("\\c{c}") ;
<INITIAL,TABBING>"C,"/["aAoOuU"]                printf ("\\c{C}");

<INITIAL,TABBING>"... "         printf ("\\ldots\\ ");
<INITIAL,TABBING>"..."          printf ("\\ldots ");
------------ Cut Here ---------------------------------------------------------