[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Emacseries pour typo française



Nicolas Boulenguez écrivait :
 > (re)Bonjour.

Salut,

 > Voici quelques propositions qui me semblent constructives. Il faut les
 > prendre dans le fichier ci-joint et avec humour, c'est ma première
 > confrontation au Lisp.

Je ne (malheureusement) pas un expert non plus...


 > - Dans la même logique, supprimons *tous* les espaces normaux
 > précédant éventuellement les ponctuations doubles. Concrètement,
 > if-->while.

Je ne comprends pas : c'est ce que je fais...

(if (eq (char-before) ?\ ) ; si espace classique
     (progn
        (backward-delete-char 1) ; détruit l'espace
        (insert " ;"));<-- 1 espace insécable

Supposer qu'il y a plus d'une espace ne me parait pas souhaitable : le
but est de corriger l'habitude qu'a quelqu'un d'entrainer à taper un
texte en respectant la typographie mais en mettant à la place une
espace normale...

 > - Ajoutons quelques commentaires évidents qui semblent manquer (est-ce
 > vraiment un oubli ?).

Non : c'est assez brut de fonderie mais le code est trivial..

 > - Améliorons la lisibilité en triant les procédures dans l'ordre où
 > elles sont appelées par la suite.

Pourquoi pas...


 > - Ce tri fait, la fonction my-6Fnt semble louche (d'autant plus
 > qu'elle déclenche une erreur) et je crois que j'ai trouvé une solution
 > simple.

Laquelle ? Je ne vois pas de quoi tu parles...


 > Bon, tout cela est innocent, je sais le faire. Le fichier ci-joint
 > apporte de l'eau au moulin. Il reste que :
 > 
 > - je ne comprends pas du tout l'intérêt de la fonction associée au
 > "$". La doc me donne l'impression qu'il s'agit d'insérer une
 > parenthèse fermante s'il y a une parenthèse ouvrante non balancée,
 > mais ça insère deux "$". La fonction skeleton-pair-insert-maybe
 > appelée seule à côté d'une parenthèse ouvrante insère deux "^M" (et me
 > signale que je peux l'appeler avec la touche $, sans blague...).

En fait, c'est plus pour moi que pour la typo : je n'aurai pas dû la
garder ici...

Le $ appelle tout simplement $$ en plaçant le curseur à l'intérieur
comme s'il s'agissait de parenthèses... C'est le mode mathématique de
TeX tout simplement !

En ce qui concerne skeleton-pair-insert-maybe, cette fonction sert à
apparier les paires : s'il existe une paire, elle est ajoutée sinon
elle duplique tout simplement... En fait, je me suis arrangé pour que
le code soit portable, sous XEmacs et Emacs. XEmacs - et j'ignore
pourquoi - refuse d'appliquer l'appariement pour les parenthèses,
crochets et accolades... Sinon, le code marche bien sous Emacs. Du
coup, je ne l'ai laissé que pour le dollar.

 > - les seules touches qui semblent fonctionner pour l'association avec
 > my-french-guill sont les ascii de base. Notons que le *seul* réglage
 > i18n de mon système (debian testing à jour) est le choix
 > LANG=fr_FR@euro pour tout le système (et SCREEN_FONT=lat9u-16 pour
 > console-common, mais je ne crois pas que cela intéresse Emacs sous X).

Si dans la mesure où il a à interpréter ce que tu tapes. Mais j'ai la
même chose chez moi sur une Woody.

Qu'appelles-tu les ASCII de base ? Le but est lorsque tu tapes
« effectivement (soit Alt Gr z ou compose+<+<) alors tu obtiens
l'appariement et les espaces ad hoc.

Par contre, rien ne t'empêche de remaper cela avec la touche de ta
préférence.

 > - le paquet inputenc de LaTeX avec l'option latin1 remplace bien
 > l'espace insécable d'iso8859-1(ou 15) par l'espace insécable de LaTeX
 > "~". Mais les deux dernières lignes qui ont pour but de rendre ces
 > raccourcis opérationnels pour les modes latex et LaTeX ne marchent
 > pas. Savez-vous pourquoi ?

Supposition (je n'utilise pas LaTeX mais plain TeX) : le paquet
inputenc de LaTeX remplace les espaces classiques (la touche espace)
uniquement. 

C'est ce que j'expliquais plus haut : il est dangereux d'utiliser
toutes ces macros sous TeX sans savoir ce que l'on fait. TeX ne
connait que l'ASCII 7 bits. Il faut des moulinettes à base de catcode
pour définir les autres caractères et les faire interpréter par TeX.

Le paquet inputenc est donc manifestement incomplet. On m'a fait part
qu'un autre paquet (french ?) en tient compte je crois... Une solution
serait de déspécialiser alors l'espace insécable en le mettant soit
directement équivalent à ~, soit à l'espace normale...

Autant alors ne pas employer mon fichier sur un mode TeX... ou bien en
faire une adaptation (triviale).

À noter : remplacer les espaces insécables du texte par des ~ est une
approximation grossière ! la typographie française demande une taille
d'espace fine selon les cas et il faut les définir correctement pour
respecter cela :

http://p.karatchentzeff.free.fr/freesoft/debian/debian-l10n-french/html/ch5.html#s5.1

 > Merci d'avance pour des explications. Je ne suis abonné qu'à
 > debian-l18n-french, donc merci de me répondre en privé ou en copie.

Comme tu as oublié -l10n, je me permets de l'ajouter en sus de ton
adresse car je ne suis pas sûr que tu sois le seul à te poser les
questions que tu m'as envoyé...

PK

-- 
      |\      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:p.karatchentzeff@free.fr
     |,4-  ) )-,_. ,\ (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'\_)       



Reply to: