Je viens de faire la correction que tu demandes, mais j'aimerais quand même bien comprendre quel est le problème et pourquoi cette rustine le résout-elle. En effet, ça cache peut-être un pb de lettre qui pourrait être embêtant avec d'autres paquetages que french.
Et déjà c'est assez troublant qu'on n'ait pas le même résultat entre TL et MT. Est-ce que tu pourrais s'il te plaît me fournir un exemple qui ne marche pas sans cette correction... Si je comprends bien, dans certains cas tordus, on a une page vide qui apparaît avant la lettre sans cette correction, c'est cela n'est-ce pas ? Vincent. ---------------------------------------- > Subject: Re: Essais avec la révision 198 > To: vincent....@hotmail.fr > CC: lettre_observatoire-aide@gna.org; efre...@lists.tuxfamily.org > From: raym...@juil.ch > Date: Fri, 22 Jan 2016 10:51:09 +0100 > > Bonjour Vincent > > C'est que le problème ne surgit que dans certains cas d'utilisation de > lettre.cls sous MikTeX et Windows. Et le plus simple à mon point de vue, > c'est quand même la modification au sein de lettre.cls. Ça fonctionne et ne > crée pas de nouveaux problèmes, en > tous cas pas sous d'autres classes. > Bizarrement sous Linux et TeXLive, ce problème n'apparaît pas. Évidemment, > nous pourrions demander à MikTeX d'y jeter un œil, mais ça me semble un peu > surfait. > > Donc, s'il te plaît, apporte-nous, à quelques utilisateurs de lettre.cls > cette modification très simple : > > \newcommand*\lettre@efr@french{\ifFrench\else\french\fi} > > Amitiés > > Raymond > > Le 2016-01-18 23:33, Vincent Belaïche a écrit : >> Bonjour Raymond, >> >> Je réagis à ta demande de mettre tout de même if \ifFrench dans >> \letttre@efr@french. >> >> Si je comprends bien, le problème serait qu'appeler \french deux fois >> consécutives pose problème. Ça m'a plutôt l'air d'un problème d'efrench à >> corriger dans efrench et non dans lettre. >> >> Cdlt, >> Vincent. >> >> ---------------------------------------- >>> Subject: Re: Essais avec la révision 198 >>> To: vincent....@hotmail.fr >>> From: raym...@juil.ch >>> Date: Fri, 8 Jan 2016 15:40:29 +0100 >>> >>> C'est bizarre, si le \fi à la fin manque, ça fonctionne aussi, mais avec >>> c'est bien sûr en ordre et plus correct. >>> >>> Le 08. 01. 16 12:33, Vincent Belaïche a écrit : >>>> Salut, >>>> >>>> Juste pour être sûr : je crois que tu as oublié un \fi à la fin, n'est-ce >>>> pas : >>>> >>>> \newcommand*\lettre@efr@french{\ifFrench\else\french\fi} >>>> >>>> qu'il eût fallu écrire. >>>> >>>> Vincent. >>>> >>>> PS: Je n'ai pas encore lu ton courriel sur \english et le problème de >>>> frendemlp. >>>> ________________________________ >>>>> Subject: Fwd: Re: Essais avec la révision 198 >>>>> To: vincent....@hotmail.fr >>>>> From: raym...@juil.ch >>>>> Date: Fri, 8 Jan 2016 11:39:54 +0100 >>>>> >>>>> Rebonjour, >>>>> >>>>> J'ai continué mes tests et j'en conclus que >>>>> la correction de lettre.cls concernant >>>>> \lettre@efr@french}et{\lettre@efr@english} >>>>> doit être complétée absolument >>>>> >>>>> % >>>>> \DescribeMacro{\lettre@efr@french}\DescribeMacro{\lettre@efr@english}Pour >>>>> \texttt{french} et >>>>> % \texttt{english}, le wrapper n'est qu'un alias de la macro >>>>> correspondante de \texttt{mlp}. >>>>> % \begin{macrocode} >>>>> \newcommand*\lettre@efr@french{\ifFrench\else\french} % ---- >>>>> activé avec modification (\ifFrench\else) ! ! ! ! >>>>> \newcommand*\lettre@efr@english{\english} >>>>> % ---- activé ! ! ! ! >>>>> % \end{macrocode} >>>>> >>>>> et ceci parce que ce que j'écrivais sous le point 1 : >>>>> >>>>> comme à chaque nouvelle lettre, \french est d'abord actif, >>>>> >>>>> ce n'est pas vrai, c'est seulement vrai avant la lecture de l'institut. >>>>> >>>>> Ainsi si je définis \américain ou \allemand dans l'institut et que >>>>> j'écris une lettre en \romand ou \francais, >>>>> il faut que \french en soit activé ! >>>>> Ceci peut arriver par exemple pour l'École Polytechnique Fédérale de >>>>> Zurich : EPFZ (Eidgenössische Technische Hochschule Zürich : ETHZ) >>>>> qui écrit suivant ses correspondants en allemand, français ou anglais, >>>>> mais tout en ayant une définition >>>>> d'institution en allemand. Et moi, de langue française, j'ai étudié >>>>> dans cette EPFZ (de langue allemande). >>>>> La Suisse est multilingue et lettre.cls est une invention suisse. >>>>> >>>>> Amitiés, >>>>> Raymond >>>>> -------- Message transféré -------- >>>>> Sujet : Re: Essais avec la révision 198 >>>>> Date : Thu, 7 Jan 2016 16:08:51 +0100 >>>>> De : Raymond J <raym...@juil.ch><mailto:raym...@juil.ch> >>>>> Pour : Vincent Belaïche >>>>> <vincent....@hotmail.fr><mailto:vincent....@hotmail.fr> >>>>> >>>>> >>>>> Bonjour Vincent, >>>>> >>>>> Je vois que tu as encore beaucoup de travail. >>>>> >>>>> Concernant cette remarque de ta part concernant frdeenmlp : >>>>> >>>>> le problème est le suivant : à la ligne 88 tu fais \english >>>>> qui redéfinit notamment ... >>>>> >>>>> Je n'utilise plus \english, c'était nécessaire pour une ancienne >>>>> révision donc frdeenmlp c'est du passé ! >>>>> Mais j'ai failli devoir le réutiliser, voir point 2 ci-dessous. >>>>> >>>>> Car je suis continuellement en train de réviser mes lettres de test >>>>> pour voir comment elle se comportent : >>>>> >>>>> Deux constatations: >>>>> >>>>> 1. comme à chaque nouvelle lettre, \french est d'abord actif, il >>>>> n'est effectivement pas nécessaire de définir \lettre@efr@french. >>>>> 2. mais si \lettre@efr@english n'est pas défini, \fup{me} donne me >>>>> (en exposant) alors que \fup devrait être inconnu et le texte être me >>>>> (normal). >>>>> >>>>> Correction de lettre.cls >>>>> % >>>>> \DescribeMacro{\lettre@efr@french}\DescribeMacro{\lettre@efr@english}Pour >>>>> \texttt{french} et >>>>> % \texttt{english}, le wrapper n'est qu'un alias de la macro >>>>> correspondante de \texttt{mlp}. >>>>> % \begin{macrocode} >>>>> % \newcommand*\lettre@efr@french{\french} >>>>> \newcommand*\lettre@efr@english{\english} % ---- ici >>>>> activé ! ! ! ! >>>>> % \end{macrocode} >>>>> >>>>> D'ailleurs, le problème des pages vides venait du fait que \french >>>>> était déjà actif et appelé une seconde fois. >>>>> >>>>> Je joins un exemple de fichier test contenant pour chaque langue un >>>>> essai de \fup. Et tu verras que pour anglais et américain, >>>>> \fup{me} donne << me>> dans le cas où je corrige lettre.cls >>>>> (avecmlp.pdf) et >>>>> \fup{me} donne l'<<exposant me>> si je ne corrige pas >>>>> (avecmlperr.pdf), donc si \french reste actif. >>>>> >>>>> Si \french n'était pas actif au début de chaque lettre, on devrait >>>>> définir \newcommand*\lettre@efr@french{\french} >>>>> et parce que \french était actif j'avais défini >>>>> \lettre@efr@french{\ifFrench\else\french} >>>>> %,\ifFrench teste si \french est actif, >>>>> car je croyais que \french n'était pas toujours actif. >>>>> >>>>> Je tiens à ce que la classe lettre.cls que tu développe reste >>>>> pleinement compatible >>>>> avec le paquetage e-french. >>>>> >>>>> Amitiés >>>>> >>>>> Raymond >>>>> >>>>> >>>>> Le 2016-01-07 11:23, Vincent Belaïche a écrit : >>>>> >>>>> Salut, >>>>> >>>>> Oui, ça commence à devenir bien. Je viens juste de corriger une >>>>> régression que j'avais introduite sur la gestion des environnements >>>>> (itemize) directement par lettre. D'ailleurs il faudrait mettre à jour le >>>>> référentiel de test pour couvrir cela. >>>>> >>>>> Pour moi cette gestion des environnements c'est encore un point >>>>> problématique, j'ai envie que l'option « keep envs » que j'ai introduite >>>>> ait 3 valeurs : « auto » par défaut en plus de « true » et « false » déjà >>>>> pris en charge, et que dans le cas « auto » si on détecte qu'un paquetage >>>>> de gestion de langue qui s'occupe déjà des environnement est chargé, >>>>> alors on fait comme si c'était « true ». >>>>> >>>>> Il y a aussi le bogue https://gna.org/bugs/index.php?24024, je n'ai pas >>>>> encore cherché d'où vient le problème. >>>>> >>>>> De plus j'ai encore un petit bogue, ligne565 : >>>>> >>>>> \csuse{\lettre@mainlang}% >>>>> >>>>> Clairement il faudrait >>>>> >>>>> \expandafter\lettreselectlanguage\expandafter{\lettre@mainlang}% >>>>> >>>>> pour prendre en compte le cas des alias. >>>>> >>>>> >>>>> Finalement, dans le référentiel de test j'ai un test frdeenmlp qui ne >>>>> passe pas >>>>> >>>>> http://svn.gna.org/viewcvs/lettre_observatoire/trunk/test/test-frdeenmlp.tex?view=markup&pathrev=187 >>>>> >>>>> le problème est le suivant : à la ligne 88 tu fais \english qui redéfinit >>>>> notamment \enclname à une valeur différente de ce que fait lettre. Va >>>>> dans le répertoire test, et fait >>>>> >>>>> make diff-frdeenmlp >>>>> >>>>> et tu verras le problème. Je pense que le \english a été ajouté par la >>>>> suite. >>>>> >>>>> Je sais pas comment corriger cela, parce qu'il faut justement laisser à >>>>> l'utilisateur la possibilité de redéfinir ces étiquettes comme il veut. >>>>> Je pense qu'il n'y a rien à faire d'autre que >>>>> - corriger le .tex du test >>>>> - mettre dans le manuel un avertissement que les commandes \<langue> de >>>>> mlp peuvent redéfinir les étiquettes d'une façon qui diffère de lettre. >>>>> >>>>> >>>>> Vincent. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ________________________________ >>>>> >>>>> >>>>> Subject: Essais avec la révision 198 >>>>> To: vincent....@hotmail.fr<mailto:vincent....@hotmail.fr> >>>>> From: raym...@juil.ch<mailto:raym...@juil.ch> >>>>> Date: Wed, 6 Jan 2016 11:35:17 +0100 >>>>> >>>>> Bonjour Vincent, >>>>> >>>>> J'ai fait quelques essais avec la révision 198 de lettre avec >>>>> e-french. Je la trouve très bien. Même la page vide qui venait toujours >>>>> avant chaque lettre ne vient plus sous Windows et MikTeX. Et la façon >>>>> de traiter le choix de l'allemand est mieux que ce que j'ai proposé. >>>>> >>>>> Mais en parallèle, moi je cherchais à annoncer une erreur avec un >>>>> \break dans le cas où allemand pose problème. >>>>> Donc au lieu de l'avertissement >>>>> \l@@warning@strictable{Ni \protect\german\space ni >>>>> \protect\ngerman\space ne sont d'efinis !} >>>>> je préfèrerais plutôt >>>>> un message d'erreur avec arrêt de compilation. >>>>> >>>>> Le choix allemand pose problème entre autres dans les cas suivants : >>>>> \usepackage{german,french} % au lieu de german.sty c'est >>>>> ngerman.sty qui sera choisi à cause de l'absence de mlp, d'où erreurs >>>>> de césure >>>>> >>>>> \usepackage[french]{mlp} % les lettres en allemand suivent french.sty >>>>> >>>>> >>>>> >>>>> et dans ces cas-là, effectivement le message d'avertissement se >>>>> retrouve dans le fichier de rapport (...log), mais je trouve que ces >>>>> cas-là, ce sont des ERREURS. >>>>> Je suis sévère avec l'utilisateur de e-french, je sais. >>>>> >>>>> Bon courage pour la suite et les options babel et polyglossia de lettre, >>>>> mais il semble que french sous polyglossia, ce n'est pas le pied, déjà >>>>> que frenchb sous babel est faible (pour la typographie française) par >>>>> rapport à french.sty d'e-french. >>>>> >>>>> Amitiés >>>>> >>>>> Raymond >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >> > _______________________________________________ Lettre_observatoire-aide mailing list Lettre_observatoire-aide@gna.org https://mail.gna.org/listinfo/lettre_observatoire-aide