%%%% MultiCat.tex --- Le d'efi de Yannis Delmas-Rigoutsos %% et Daniel Taupin. %% Version alpha. %% Affichage: ftp matups.matups.fr directory TypingTeX.dir. %% Sur la liste GUT archiv'ee sur ftp ftp.cicb.fr, %% et suite `a des critiques g'en'e'rales de Yannis, Daniel %% a note (Fri, 11 Jun 1993) que: %% <<\def\truc#1:#2>{....} se plante quand on a mis french %% comme option de style.>> %% Or, french est un logiciel de B. Gaulle qui souvent active %% ; et > . Cette constatation s'applique `a tout logiciel %% qui qui osera faire autant, et il semble que tous les logiciels %% grands et petits qui offrent une typographie francaise %% activent ; : ! ? du moins optionellement. C'est bien le cas de %% fe-Plain de Desarmenien de 1987(?) et ses %% extensions/revisions pour d'autres formats %% fran_cais fournis par format-dumper-cm (ou -ck), %% que j'affiche moi-m^eme sur ftp matups.matups.fr. %% Voici tentatives de solutions en 'etat de marche, dont seulement %% celle qui utilise \csname...\endcsname est `a retenir. %% J'invite les tous les texperts fran_cais qui sentent %% une m'efiance `a l/'egard de l'activation que je %% pratique de formuler des critiques pr'ecises. %% A la fin de ce fichier se trouve des pol'emiques sur l'activation %% pass'ees par Yannis, Daniel ou moi-m^eme sur la liste GUT. %% Pour simplifier l/'ecriture des exemples on supposera que %% le macro \truc#1;#2> a le m^eme *effet* qu'un macro %% \Truc#1#2. Ce n'est gu`ere une restriction. En effet, %% \let\oldtruc\truc %% \def\Truc#1#2{\oldtruc#1;#2>} %% semble arranger cela. %% %% On supposera aussi que le \truc de Taupin %% a 'et'e programm'e `a l'origine pour categorie 12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -------- couper %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% (1) Solution de pure politesse %%% --- on avertit l'utilisateur qu'il devra %%% maintenir les s'eparateurs de cat'egorie other \chardef\trucAt\catcode`\@ \catcode`\@=11 \def\trucms@g{% \immediate\write16{}% \immediate\write16{ *** Sorry, the macro \noexpand\truc requires}% \immediate\write16{ *** both \string; and \string> to have category 12.}% \immediate\write16{ *** Try switching off national typography mechanisms.}% \immediate\write16{ *** Or seek help from a TeX programmer.}% } \newcount\scratch \def\truc#1;#2>{\count255=\catcode`\;% \multiply \count255 by \catcode`\>% \advance\count255 by -144 \multiply \count255 by \count255 \ifnum\count255 >\z@ \trucms@g \else \Truc{#1}{#2}% \fi} \catcode`\@=\trucAt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Test \def\Truc#1#2{[#1][#2]} \truc aaaaa>>>aa{;}aaaa;{bbbb>>bbbbb}> \end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -------- couper %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% (2) Solution 'econome *FAUTIVE* (voir remarque (B)) %%% --- semble applicable tant que les arguments de \gadget %%% ne contiennent pas les s'eparateurs (entre accolades). %%% Le macro et ses arguments sont prot'eges dans cette %%% version par un groupement TeX. \chardef\trucAt\catcode`\@ \catcode`\@=11 \def\truc{\trucA\trucB} \def\trucA{\begingroup\catcode`\;=12\catcode`\>=12} \def\trucB#1#2{\Truc{#1}\Truc{#2}\endgroup} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Test \def\Truc#1#2{[#1][#2]} \truc aaaaa>>>aa{;}aaaa;{bbbb>>bbbbb}> \end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -------- couper %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% (3) Solution 'econome bis *FAUTIVE* (voir remarque (B)) %%% --- semble applicable tant que les arguments de \gadget %%% ne contiennent pas les s'eparateurs (entre accolades). %%% Pas de protection par groupement. \chardef\trucAt\catcode`\@ \catcode`\@=11 \chardef\trucscoloncat@ \chardef\trucgrcat@ \def\truc{\trucA\trucB} \def\trucA{\trucscoloncat@=\the\catcode`\;% \trucgrcat@=\the\catcode`\> \catcode`\;=12\catcode`\>=12 \Truc{#1}\Truc{#2}% \catcode`\;=\trucscoloncat@\catcode`\>=\trucgrcat@ } \def\trucB#1#2{\Truc{#1}\Truc{#2}\endgroup} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Test \def\Truc#1#2{[#1][#2]} \truc aaaaa>>>aa{;}aaaa;{bbbb>>bbbbb}> \end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -------- couper %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% (4) Solution \csname ... \endcsname %%% --- valable meme si les arguments contiennent les %%% s'eparateurs ; et > (prot'eg'es par accolades TeX). %%% --- une fragilit'e de cette solution est `a remarquer. %%% Les changements de categorie de ; et > (par exemple %%% induits par changement de langue) ne doivent pas %%% intervenir `a l'int'erieur des arguments de macro. %%% Ce probl`eme suggre la politique suivante: %%% Les changements de langue routines ne doivent pas %%% changer la cat'egorie de caract`eres. %%% Le changement de cat'gorie est une affaire de texperts %%% qui sauront le faire au bon endroit, en particulier %%% pas dans l'argument d'un macro. %%% Cette politique est d'ej`a suivi a peu pr`es par les %%% formats fran_cais-anglais g'er'es par format-dumper... \chardef\trucAt\catcode`\@ \catcode`\@=11 \let\EX@\expandafter \let\@CS\csname\let\E@CS\endcsname \begingroup \catcode`\;=12\catcode`\>=12 \EX@\gdef\@CS truc1212\E@CS#1;#2>{\Truc{#1}{#2}} \catcode`\;=13\catcode`\>=12 \EX@\gdef\@CS truc1312\E@CS#1;#2>{\Truc{#1}{#2}} \catcode`\;=12\catcode`\>=13 \EX@\gdef\@CS truc1213\E@CS#1;#2>{\Truc{#1}{#2}} \catcode`\;=13\catcode`\>=13 \EX@\gdef\@CS truc1313\E@CS#1;#2>{\Truc{#1}{#2}} \endgroup \def\truc{\edef\temp{truc\the\catcode`\;\the\catcode`\>}% \EX@\@CS \temp\E@CS} \catcode`\@=\trucAt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Test \def\Truc#1#2{[#1][#2]} \truc aaaaa>>>aa{;}aaaa;{bbbb>>bbbbb}> \end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -------- couper %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% %%%%%% REMARQUES %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (A) Chacune solution semble avoir une version robotise' dont le syntaxe serait du genre: \reconstruct\gadget#1;#2>\endreconstruct mais la loudreur de ce genre de programmation est un grave d'efaut. (B) Pi`ege: Savoir au moment de la saisie quelle cat'egorie recevera un caract`ere qu'on tape (il re_coit sa cat'egorie une fois pour toutes `a l'entr'ee dans TeX) est fort difficile. Par exemple \long\def\preread#1{#1} \catcode`\;=13 \preread{\gadget xxx ; yyy>} va faire en sorte que le ; dans xxx ; yyy recoit la categorie 13. Ainsi "solutions" (2) et (3) font que d'elimitateur voulu ";" est introuvable. Solutions (2) et (3) sont donc s'ereusement compromises. La solution (3) est l'eg`erement compromise. Elle ne change pas de cat'egories elle m^eme. Mais il ne faut pas que les changements de langue changent cat'egorie --- au moins dans des arguments de macro. Notons que pour fe-Plain fe-amstex etc. la ponctuation ; : ? ! maintient normalement cat'egorie 13 malgr'e les changements entre \Francais et \Anglais. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% %%%%%% DIVERS POL'EMIQUES SUR L'ACTIVATION %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #43 10-JUN-1993 15:10:15.04 NEWMAIL From: CCPNGW::"gut-request@nef.ens.fr" To: gut@dmi.ens.fr CC: delmas@clipper.ens.fr (Yannis Delmas-Rigoutsos) Subj: Re: ... (Super (La)ToX en fait...) [...] 1) Les changements de catcodes posent des proble`mes avec des jeux de macros, par exemple pour tout ce qui est trace' de diagrammes mathe'matiques. Par exemple pour utiliser XY-Pic je dois rendre normaux < et >, d'ou` la ne'cessite' d'avoir: /"<<"/ -> "\\oguill " ++ /">>"/ -> "\\fguill " -- 1') C'est la me^me raison qui fait que je ne m'amuse surtout pas a` ajouter des caracte`res actifs. J'ai ainsi eu a` m'arracher les cheveux pour saisir du Grec pour l'annuaire de l'Ecole: comme French.sty e'tait installe' il y avait un certain nombre de caracte`res actifs qui empe`chaient une ligature normale formant les accents, les esprits, ou le iota souscrit. On peut toujours faire un changement de catcodes, pour du texte mais c,a devient re'ellement du de'lire quand on doit faire cela pour des arguments de macros,... (\truc{\grec >'h}, me^me si \grec change les catcodes ne marche pas). 2) Il faut une saisie spe'ciale des espaces devant les ponctuations pour contenter french.sty. C'est pre'cise'ment ce que font les re`gles: /"(!"/ -> idem /"~"?!/ -> "~!" /"(?"/ -> idem /"~"?"?"/ -> "~?" /"~"?;/ -> "~;" /"~"?:/ -> "~:" [...] \ Yannis Delmas-Rigoutsos \ \ ---------------------------------- adresse postale : Ecole Normale Supe'rieure 45, rue d' Ulm 75230, Paris CEDEX 05. te'le'phone : [33] (1) 44 32 20 65 (ENS) adresses e'lectroniques : delmas@ens.fr,@logique.jussieu.fr,(@FRULM63.bitnet) ---------------------------------- #43 11-JUN-1993 05:45:11.31 NEWMAIL From: CCPNGW::"gut-request@nef.ens.fr" To: gut@dmi.ens.fr, kris@diku.dk CC: Subj: Translit&CorToX r'eponses ... [...] J'accepte ce que dit ici Yannis en tant que louange de vertus de Translit. Quand on construit un pr'eprocesseur on essaie naturellement d'en tirer un maxi! Mon approbation est pourtant mitig'ee par le constat que ces ~ f^achent l'oeil! Malheureusement on peut interpreter ces remarques comme une requisitoire contre l'exploitation de caract`eres actifs et donc contre email-fr. D'accord qu'il faut une longue experience pour programmer un caract`ere actif qui se trouve dans le zone ascii; mais l'activation (de ;:?!) est une voie que j'emprunte (suivant Desarmenien) depuis d'ebut 1989 --- sans le moindre regret; l'activation de ` ' et ^ par email-fr ne m'affolle donc pas. Quant `a l'utilisateur, en cas de difficult'e, il d'esactive automatiquement en 'eteignant localement email-fr. Si on signale clairement `a un programmeur, comme K. Rose, auteur de xy-pict, que < et > etc. risquent d'etre actifs il pourra arranger ses macros pour les rendre *indiff'erentes* `a l'activation de < > etc. Dans le cas des formats pr'eexistants l'indiff'erence `a l'activation bien connu de ;:?! est r'ealise'e par de petits patchs (dus a Spivak et/ou moi-m^eme) lesquels se trouvent dans fe-format-dumper sur ftp matups.matups.fr. Et naturellement je crois tr`es fort `a ce que les prochaines versions de ces formats incorporent de tels patchs pour 'eliminer d'avance tout probl`eme. Les plusieurs probl`emes d'activation que Yannis cite ont tous des solutions satisfaisantes, dont plusieurs ont d'ej`a 'et'e mentionn'es sur cette liste. Me contacter pour des probl`emes sp'ecifiques, surtout en ce qui concerne email-fr ou (affaire en principe totalement disjointe!!) fe-format-dumper. D'ailleurs ce dernier contient une discussion utile sous forme de remarques. (On y trouve provisoirement amstexfr.sty qui permet l'activation de ;:?! pour AmSLaTeX; ce fichier appelle amstex.sty et ajoute un petit patch.) [...] Laurent S From: CCPNGW::"gut-request@nef.ens.fr" To: gut@dmi.ens.fr CC: delmas@dmi.ens.fr (Yannis Delmas-Rigoutsos) Subj: French et caracteres actifs Bon, je ne vais pas parler de Translit & al. mais je vais (re)-soulever un point e'voque' par la discussion et qui concerne beaucoup de gens. Il s'agit d'un re'quisitoire contre l'activation des lettres,... Je me contenterais de poser un petit proble`me dont j'attends qu'on me propose une solution e'le'gante, e'ventuellement simple. a* French est PEUT-ETRE utilise' (on ne sait pas a` priori) b* on veut utiliser du grec, qui est appele' par \grec b'* d'autres langues peuvent s'ajouter arbitrairement (j'utilise \viet et \russe) c* les divers e'le'ments (franc,ais, grecs et autres langues) sont employe's comme arguments de macros. Les deux seules solutions que j'ai trouve' sont: 1) on teste l'existence de la macros de french desactivant ce qui doit l'e^tre ou on de'sactive soi-me^me. -> proble`me: le point *c* n'est pas respecte' 2) on defini <, > et e'ventuellement | comme valant la chai^ne les repre'sentant. -> proble`me: French peut changer, d'autres caracte`res actifs peuvent e^tre ajoute's, au besoin en concurenc,ant les de'finitions de French. 2') on rede'fini tous les caracte`res actifs comme valant leur chai^ne naturelle. -> proble`me: ine'le'gant. Le gros proble`me de French, de ce point de vue, est qu'il fait tre`s salement ses de'finitions au niveau du \begin{document}. Autrement dit, on ne peut pas utiliser un style ne serait-ce que pour choisir des options de French. Sauf, bien entendu, a` rede'finir, comme French, la macro \document. Il n'est pas rare, ainsi, de voir dans mes fichiers de style: \let\french@orig@begindocument=\document \def\document{% \french@orig@begindocument% ...mes options...% } J'en arrive donc a` ma grosse critique: les caracte`res actifs de French ne sont qu'une partie de l'iceberg, son GROS proble`me est de ne pas e^tre modulaire. French croit toujours qu'il est tout seul: de`s qu'il s'agit de faire des maths ou d'autres langues, c'est tre`s ge^nant (on ne peut pas modifier tous les jeux de macros qu'on rec,oit!). Voila, sinon French est tre`s bien. Y __________________________________ \ Yannis Delmas-Rigoutsos \ \ ---------------------------------- adresse postale : Ecole Normale Supe'rieure 45, rue d' Ulm 75230, Paris CEDEX 05. te'le'phone : [33] (1) 44 32 20 65 (Ecole), 47 46 96 41 (pers.) adresses e'lectroniques : delmas@ens.fr,@logique.jussieu.fr,(@FRULM63.bitnet) ---------------------------------- #45 11-JUN-1993 14:33:09.44 NEWMAIL From: CCPNGW::"gut-request@nef.ens.fr" To: GUT@nef.ens.fr CC: Subj: RE: French et caracteres actifs Avis partage par DT quant a la non-modularite de French. Et les caracteres actifs ne peuvent plus etre utilises comme delimiteurs de procedures, ex: \def\truc#1:#2>{....} se plante quand on a mis french comme option de style. De meme, \write\xxx{ choses : machins } insere des \relac et des \penalty dans le fichier de sortie. Et quand on utilise TeX pour ecrire du metafont a usage ulterieur, c'est epouivantable (bien que contournable par essais et erreurs). Toutefois, \nofrenchtypography annule pas mal de catcodes actifs. (mais attention: les catcodes ne sont pas digeres au meme niveau que les macros ! ================== RFC 822 Headers ================== Received: by nef.ens.fr (5.65c8/ULM-1.0) Message-Id: <199306111224.AA29674@nef.ens.fr> Received: by nef.ens.fr (5.65c8/ULM-1.0) Received-Date: Fri, 11 Jun 1993 14:24:35 +0200 Date: 11 JUN 93 14:28:34.28-GMT Errors-To: listman@nef.ens.fr Reply-To: GUT Distribution List X-Sequence: 77 #42 14-JUN-1993 03:36:16.19 NEWMAIL From: CCPNGW::"gut-request@nef.ens.fr" To: gut@dmi.ens.fr CC: Subj: activons-nous! ***** activons-nous! ***** Craindre des caract`eres actifs est absurde, car on se nierait ainsi la pleine puissance du concept de macro qui est la fondation m^eme du langage TeX. Les texperts doivent remplacer leur peur par une combinaison de savoir, diligence, et prudence! Yannis Delmas-Rigoutsos a r'ecemment remis l'activation en cause: YDR> Je me contenterais de poser un petit proble`me dont YDR> j'attends qu'on me propose une solution e'le'gante Mais il me semble que Yannis ne donne que des *solutions* en vrac `a des probl`emes non-sp'ecifi'es d'activation! Heureusement, Daniel Taupin offre ensuite deux probl`emes typiques et concr^ets qui surgissent quand : et > changent de cat'egorie entre 12 (=other la valeur le plus usit'ee) et 13 (=active, la valeur qui accorde le statut de macro). DT> \def\truc#1:#2>{....} se plante quand on a mis french DT> comme option de style. DT> \write\xxx{ choses : machins } insere des [...] dans DT> le fichier de sortie. Le deuxi`eme probl`eme est joliment r'esolu par le macro "inexpanded write" qui fut trouv'ee juste `a temps pour LaTeX 3. Pour le probl`eme de \truc, il y a une solution tr`es robuste. Il y plusieurs versions d'un tel macro \trucother \trucfrench, etc. --- chacune cuisin'ee par la m^me recette mais dans les conditions de cat'egorie appropri'ees. Ensuite le changement vers french doit s'electionner la bonne version, soit par \let \truc=\trucfrench. L'avantage est que #1 peut ^etre {...>...:...}.[Plus loin une petite fragilit'e va appara^itre, voir 17juin.] Mais le d'efaut est que l'option french doit d'avance connaitre \truc. C'est raisonable pour un \truc de LaTeX ou amstex (de tels \truc's sont rares), mais parfaitement d'eraisonable pour un \truc de xy-pic. Kristoffer Rose, l'auteur de xy-pic sera donc contraint `a utiliser d'autres id'ees pour ses \truc's `a lui, dont certaines que Yannis a mentionne'es. Par exemple \truc peut avoir l'expansion \trucA\trucB o`u \trucA donne cat'egorie 12 (other) `a : et > et m'emorise les cat'egories ant'erieures ('eventuellemnt par simple groupement). Ensuite \trucB a le syntaxe "apparante" de \truc mais les : et > sont de cat 12 (other); les cat'egories d'origine de : et > seront restaur'es `a la sortie. D'efaut-- : et > seront de cat'egorie other dans les arguments #1 et #2. [Cette solution a une faute fatale voir 17juin.] Il y a bien d'autres d'astuces; je suis s^ur que j'en ignore certaines! On fr^ole ici des limites arbitraires de TeX. En effet, un TeX 'etendu pourrait facilement r'esoudre d'efinitivement le probl`me \truc (sans laisser de d'efaut r'esiduel), en introduisant des "token classes" comme param`etres de macros. Les classes en question ici sont: "character token of ascii code `\:" et "character token of ascii code `\>". La variabilit'e de cat'egorie permise serait limit'ee par le programmeur, normalement `a 12 et 13. Les utilisateurs fran_cais de TeX se doivent de constituer un lobby vigoureux aupr`es des programmeurs pour assurer que les logiciels TeX supportent bien les changements de cat'egorie qui s'av`erent utiles en France. Commen_cons par l'AmS et continuons avec les individus de bonne volont'e comme Kristoffer Rose! Laurent S Date: 14 Jun 93 13:28:29+0200 From: TAUPIN@FRUPS51.bitnet Message-ID: <199306141106.AA21115@nef.ens.fr> Subject: RE: activons-nous! To: GUT@nef.ens.fr Reply-To: GUT Distribution List Received-Date: Mon, 14 Jun 1993 13:06:22 +0200 Errors-To: listman@nef.ens.fr X-Sequence: 85 Status: R Activer d'autres caracteres que ceux de plain.tex ou latex est aussi prudent que de construire SON installation electrique en 154volts et 277 Hertz. Ok dans une ile deserte, mais sinon on a des emmerdes epouvantables des qu'on veut utiliser ou transmettre des TeXtes a l'exterieur. En effet l'activation des caracteres se produit a l'entree et un caractere actif le reste meme dans une macro ou on a change son \catcode. Donc un principe: redefinir des MACROS est inoffensif, ou redefinir les macros de caracteres originellwement actifs. En revanche, activer ou desactiver des caracteres conduit a dix fois plus de desastres que ca ne cree d'avantages. Je pense en particulier aux pbs de french.sty quand on veut l'utiliser avec d'autres logiciels avec lesquels il n'a pas ete teste (y compris les logiciels et macros maison). Date: 15 Jun 93 00:32:08+0200 From: Larry Siebenmann Message-ID: <9306142211.AA00809@frmap711.mathp7.jussieu.fr> To: gut@dmi.ens.fr, kris@diku.dk Subject: Macros multivoltage Reply-To: GUT Distribution List Received-Date: Tue, 15 Jun 1993 00:10:07 +0200 Errors-To: listman@nef.ens.fr X-Sequence: 87 Status: RO ****** Macros multivoltage ****** L'anologie de Daniel Taupin entre categorie TeX et tension de courant secteur n/est pas mal au fond. Les emmerdements de tension, surtout dues aux normes divergentes 120Volts (USA) et 220Volts (Europe) sont r'eels et actuels. J'ai travers'e l'Atlantique `a plusieurs reprises avec un petit Macintosh 220Volts et j'ai du acheter en catastrophe des transfos ou ouvrir le Mac pour changer un contact sur la carte d'alimentation. Pour tout dire j'ai aussi p'et'e quelques fusibles. Mais tout ca c/est FINI depuis quelques ann'ees, car Apple s/est reconnu fabricant INTERNATIONAL et fabrique dor'enavant des micros MULTIVOLTAGE et d'ailleurs multifr'equence! Est-ce donc ridicule de demander que les logiciels TeX soient adapt'es `a bien supporter le changement de cat'egorie entre 12 et 13 pour les charact`eres ;:?! etc. qu'on a envie d'activer en Europe? Pour chaque logiciel TeX (AmSTeX par exemple ou xy-pic) il s'agit d'une r'evision peu couteuse en temps --- donn'ee la texnologie dont on dispose en 1993. Comme j'ai d'ej`a dit, il suffit d'avoir la clairvoyance de demander ces petits changements --- question d'^etre un groupe d'utilisateurs de TeX suffisamment organis'es pour se faire entendre! La pol'emique de Taupin contre l'activation termine sur une affirmation assez sp'ecifique: > En revanche, activer ou d'esactiver des caracteres conduit > a dix fois plus de desastres que ca ne cree d'avantages. > Je pense en particulier aux pbs de french.sty quand on veut > l'utiliser avec d'autres logiciels avec lesquels il n'a pas > ete teste (y compris les logiciels et macros maison). Bon, si on suit mes conseils, il restrera quelques d'esastres quand on utilisera des jeux de macros "maison" c/est-`a-dire de la main d'amateurs inconscients. Grande prudence donc en Europe avec de tels logiciels jusqu'au jour o`u leur bonne tenue est verifi'ee! Entretemps, on peut 'eteindre l'activation quand il faut, ou 'eviter ce jeu l`a, ou encore demander `a un texpert de "patcher". Il serait bon que les programmeurs affichent leurs tolerances `a cet egard, par exemple: %% The macros of this package tolerate category 12 OR 13 %% for the ascii characters : ; ? ! < > ` ' " ^ %% See TUG recommendations of 199X, ... aussi bien que leurs exigeances. J'estime que Taupin recommande une voie sans activation qui m`ene l/Europe vers des environements de saisie barbares offrant une qualit'e typographique m'ediocre. Si par exemple on se d'ecide `a taper ~: ~; ~? ~! pour 'eviter d'activer : ; ? ! la saisie est d'esagr'eable `a ex'ecuter, d'esagr'eable `a relire, et probablement charg'ee de fautes car on oublie fatalement quelques ~! Si Daniel! --- l'activation rapporte d/'ej`a plus qu'elle ne co^ute; et si GUT se mobilise le bilan sera enti`erement positif. Laurent S PS pour Jacques Andr'e: Par la m^eme logique je suis `a priori tout `a fait pour une norme `a huit bits pour le courrier 'electronique comportant les lettres fran_caises accentu'ees. Mais il faut de me convaincre qu'il s'agit d'une possiblilit'e r'ealisable! Date: 15 Jun 93 12:10:08+0200 From: TAUPIN@FRUPS51.bitnet Message-ID: <199306150948.AA03485@nef.ens.fr> Subject: RE: Macros multivoltage To: GUT@nef.ens.fr Reply-To: GUT Distribution List Received-Date: Tue, 15 Jun 1993 11:48:01 +0200 Errors-To: listman@nef.ens.fr X-Sequence: 88 Status: RO Activation: A moins d'etre introduite en des endroits definis au micron pres et avec des precautions exorbitantes, la macro: \def\truc#1:#2;{....} se plante avec french.sty, et marche sans. En outre: \write\xxx{mon baratin ; } insere un \relax avant le point-virgule avec french. On peut y remedier en definissant la macro qui fait le wrirte avant l'entree en scene de french, sans doute avant le \begin{document} (ce qui est streng verboten en principe). Or ceci cree des katastrofes si le texte ecrit est destine a etre compile ulterieurement en Pascal iou en Metafont ! Je dis que si on veut un ; avec un comportement different, il ne faut pas activer le ; mais definit une macro comme \; ! Pour la saisie des messages, tu auras raison quand tu aura contraint - le kalachnikoff dans le dos - MS-DOS a utiliser ISO-Latin1 au lieu de 850, idem pour les Mac's. C'est pas piour demain. Sinon, navre, il n'y a que les caracteres codes de 32 a 126 qui soient portables!