Bonjour,

Après de nombreux atermoiements, j'ai fini par essayer de coder une
solution pour les incompatibilités de guilemets en français.

La solution retenue est la suivante :

- il n'y a plus qu'un langage pour le français, qui utilise l'option
  french de babel

- les guillemets utilisent les commandes \og et \fg

- une « version de secours » de \og et \fg est fournie :
\addto{extrasfrench}{
  \providecommand{\og}{\leavevmode\flqq~}
  \providecommand{\fg}{\ifdim\lastskip>[EMAIL PROTECTED]
}

Normalement :

- avec teTeX 3.0, on utilise frenchb et ca marche

- avec teTeX 2.0, on utilise frenchle.sty avec les guillemets de
  secours (dons un espacement pas parfait et un problème en OT1, mais
  de toute façon OT1 ce n'est pas terrible en français pour les
  césures). L'utilisateur peut toujours installer localement une
  version récente de frenchle qui fournit \og et \fg.


Je joins à ce message un fichier typique produit par ce patch ainsi
que le patch (pour 1.4.0cvs) lui-même (il nécessite encore une
modification a lyx2lyx pour mettre a jour le langage des fichiers).

J'apprécierais que vous testiez le fichier guillemets.tex sur votre
installation TeX pour voir si le résultat est satisfaisant.

JMarc

Attachment: guillemets.tex
Description: TeX document

Index: lib/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/lib/ChangeLog,v
retrieving revision 1.709
diff -u -p -r1.709 ChangeLog
--- lib/ChangeLog       14 Jun 2005 10:29:46 -0000      1.709
+++ lib/ChangeLog       16 Jun 2005 14:43:08 -0000
@@ -1,3 +1,9 @@
+2005-06-16  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
+
+       * languages: remove language "frenchb"; with language "french"
+       provide default values for \og and \fg if needed; use babel option
+       "canadien" for French Canadian
+
 2005-06-14  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
        * configure.m4: remove texput.log after testing for spaces.
Index: lib/languages
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/lib/languages,v
retrieving revision 1.21
diff -u -p -r1.21 languages
--- lib/languages       13 Sep 2004 14:27:19 -0000      1.21
+++ lib/languages       16 Jun 2005 14:43:08 -0000
@@ -11,7 +11,7 @@ breton      breton    "Breton"        false  iso88
 british     british    "British"       false  iso8859-1  en_GB  ""
 bulgarian   bulgarian   "Bulgarian"     false  cp1251     bg_BG  ""
 canadian    canadian   "Canadian"      false  iso8859-1  en_CA  ""
-canadien    frenchb   "French Canadian"        false  iso8859-1  fr_CA  ""
+canadien    canadien   "French Canadian"       false  iso8859-1  fr_CA  ""
 catalan     catalan    "Catalan"       false  iso8859-1  ca_ES  ""
 croatian    croatian   "Croatian"      false  iso8859-2  hr_HR  ""
 czech       czech      "Czech"         false  iso8859-2  cs_CZ  ""
@@ -22,8 +22,7 @@ esperanto   esperanto "Esperanto"     false 
 #and what country code should esperanto have?? (Garst)
 estonian    estonian   "Estonian"      false  iso8859-1  et_EE  ""
 finnish     finnish    "Finnish"       false  iso8859-1  fi_FI  ""
-frenchb     frenchb    "French"        false  iso8859-1  fr_FR  ""
-french      french "French (GUTenberg)" false  iso8859-1  fr_FR         ""
+french      french     "French"        false  iso8859-1  fr_FR  
"\providecommand{\og}{\leavevmode\flqq~}\providecommand{\fg}{\ifdim\lastskip>[EMAIL
 PROTECTED]"
 galician    galician   "Galician"      false  iso8859-1  gl_ES  ""
 # There are two Galicia's one in Spain one in E.Europe. Because of
 # the font encoding I am assuming this is the one in Spain. (Garst)
Index: src/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/ChangeLog,v
retrieving revision 1.2202
diff -u -p -r1.2202 ChangeLog
--- src/ChangeLog       14 Jun 2005 17:01:05 -0000      1.2202
+++ src/ChangeLog       16 Jun 2005 14:43:09 -0000
@@ -1,3 +1,8 @@
+2005-06-16  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
+
+       * LaTeXFeatures.C (getBabelOptions): put the babel options in the
+       \extra<lang> macro, so that they affect only one language.
+
 2005-06-14  Angus Leeming  <[EMAIL PROTECTED]>
 
        * lyx_main.C (init): ensure that the LyX binary dir is the first
Index: src/LaTeXFeatures.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/LaTeXFeatures.C,v
retrieving revision 1.119
diff -u -p -r1.119 LaTeXFeatures.C
--- src/LaTeXFeatures.C 11 Jun 2005 11:02:22 -0000      1.119
+++ src/LaTeXFeatures.C 16 Jun 2005 14:43:09 -0000
@@ -453,9 +453,11 @@ string const LaTeXFeatures::getBabelOpti
        LanguageList::const_iterator end =  UsedLanguages_.end();
        for (; it != end; ++it)
                if (!(*it)->latex_options().empty())
-                       tmp << (*it)->latex_options() << '\n';
+                       tmp << "\\addto{\\extras" << (*it)->babel() << "}{" 
+                           << (*it)->latex_options() << "}\n";
        if (!params_.language->latex_options().empty())
-               tmp << params_.language->latex_options() << '\n';
+               tmp << "\\addto{\\extras" << params_.language->babel() << "}{" 
+                   << params_.language->latex_options() << "}\n";
 
        return tmp.str();
 }
Index: src/insets/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/ChangeLog,v
retrieving revision 1.1151
diff -u -p -r1.1151 ChangeLog
--- src/insets/ChangeLog        2 Jun 2005 15:01:16 -0000       1.1151
+++ src/insets/ChangeLog        16 Jun 2005 14:43:09 -0000
@@ -1,3 +1,8 @@
+2005-06-16  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
+
+       * insetquotes.C (latex): always use \og/\fg for the french
+       language. 
+
 2005-05-31  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
        * insetoptarg.C (InsetOptArg): make the inset open by default
Index: src/insets/insetquotes.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetquotes.C,v
retrieving revision 1.120
diff -u -p -r1.120 insetquotes.C
--- src/insets/insetquotes.C    25 Nov 2004 19:13:05 -0000      1.120
+++ src/insets/insetquotes.C    16 Jun 2005 14:43:09 -0000
@@ -270,17 +270,11 @@ int InsetQuotes::latex(Buffer const &, o
        string qstr;
 
        if (language_ == FrenchQ && times_ == DoubleQ
-           && runparams.local_language == "frenchb") {
+           && runparams.local_language == "french") {
                if (side_ == LeftQ)
                        qstr = "\\og "; //the spaces are important here
                else
                        qstr = " \\fg{}"; //and here
-       } else if (language_ == FrenchQ && times_ == DoubleQ
-                  && runparams.local_language == "french") {
-               if (side_ == LeftQ)
-                       qstr = "<< "; //the spaces are important here
-               else
-                       qstr = " >>"; //and here
        } else if (lyxrc.fontenc == "T1") {
                qstr = latex_quote_t1[times_][quoteind];
 #ifdef DO_USE_DEFAULT_LANGUAGE

Répondre à