% This is  french.sty history going to the previous distributed version.
%                           Copyright GUTenberg-Bernard Gaulle as in french.doc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Last updates starting after releasing the beta-test version 2.995:
% ===========
% - V 2.996 process \cite \bibitem and \bibcite 
%                                     (LaTeX problem reported by Roman Keryell)
%                   and \special that was forgotten               --bg 12/03/91
% - V 2.997 add macros to uppercase \oe and \ae (\minMAJ)         --bg 12/06/91
%           correction of spacing when using \untypedspaces option.
%                             (Problem reported by Daniel Flipo)  --bg 12/12/91
%           addition of \I if undefined as uppercase of \i        --bg 12/13/91
%           correction (missing penalty before in `?' code)  
%                             (Problem reported by Daniel Flipo) 
%           addition of \AllTeX                                   --bg 12/16/91
%           unneeded \global removed, stated by Rainer Sch\"opf  
%           added \clearpage in \annexe \glossaire as
%                                    proposed by Rainer Sch\"opf 
%           idem in \index and \enddocument                       --bg 12/18/91
%           correction of misfit in \ccname and \enclname with
%                         the official LaTeX distribution.     
%           addition of \numero and \Numero
%           corrections in abbrevfr.tex                           --bg 12/19/91
% - V 2.998 check definition of \printindex instead of \see to
%                         include makeidx.sty (Ronan Keryell)
%           eliminate double definitions of \ouvreguillemets and
%                         \fermeguillemets    (Daniel Flipo)
%           correct kerning for guillemets (sugg. by Daniel)
%           wrong spacing introduced in V2.997 before `?'
%           inapropriate blank removed before opening guillemets
%           \mathrm and \mediumseries added if undefined          --bg 12/31/91
% - V 2.999 skipped
% - V 3.00  released 1/2/92
% - V 3.01  Change 10000 to \@M. Introduce \@minpenalty and replace 
%                \@highpenalty by \@minpenalty so reducing negative 
%                penalties before processing opening guillemets.       
%           Replace \hsize by \linewidth.                         --bg 01/16/92
%           Add order environment proposed by Ronan Keryell as an experimental
%                     prototype of a french ordered list
%                     + parsep, itemsep and topsep  adapted  by   --bg 01/17/92
%           Mods for DCM used with NFSS (sugg. by Yannis H.)      --bg 01/20/92
%           Mods for OzTeX 1.3 : eliminate all \openin codes because
%                this version has difficulties to follow the path.
%           Add \leftguillemets and \rightguillemets (D. TAUPIN)  --bg 01/21/92
%           Correct size of \footnotemark in \thanks (sug J.ANDRE)--bg 01/22/92
%           Allow \guillemetsinallfonts if requested (pointed by Yannis H.)
%           Improve font assignement for guillemets.
%           Wrong font family in \@@FE (pointed by Yannis H.)     --bg 01/27/92
%           Local to global \ifECM setting (guillemets were not in DC as
%                             pointed by Yannis HARALAMBOUS)      
% - V 3.02  \global\let put outside \@initfrenchmacros in the
%                 appropriate environment and so avoiding loops.  --bg 01/29/92
%           OzTeX 1.4 has the same pb : version number change.    
%           Default math chars used for guillemets now \ll & \gg  
%           Correct use of ECM fonts for guillemets               --bg 02/03/92
%           Spacing of opening guillemets revisited               --bg 02/04/92
%           \@minpenalty removed definitely                       
%           \frenchspacing modified for << and >> in ECM          
%           Removed spaces in \@FIM                               
%           Become very tolerant in noeveryparguillemets          --bg 05/02/92
% - V 3.03  Apply the order environment only in \Latex{}.         --bg 06/02/92
%           Introduce \beginlanguage to be the language used  after 
%                    \begin{document} (accordingly modified).      
%           Improve indentation of the order environment, allowing
%               a second digit in the list (aligned on parindent).
%           Kerning in \@@FPE increased by 0.3em.                 
%           Default value of \protect is now a null string.       --bg 02/10/92
%           Nullify \par in \noeveryparguillemets, correct line size used 
%           for processing boxes (don't use in more than 2 cols!) --bg 02/17/92
% - V 3.04  Avoid duplicate guillemets at \everypar time.          
%           Allow \sommaire without \tableofcontents (\@starttoc modified so it
%               will not make the file empty) [rep. by D. Flipo]  --bg 02/21/92
%           Slight mod for MlTeX V2 with \noenglishquote (nul hbox introduced
%              after accent, sugg. by Yannis H.& Michael Ferguson)--bg 02/24/92
% - V 3.05  Don't require language.dat in an allready MlTeX env.   
%           Error message added in case of language.dat no more accessible.
%                                                                 --bg 02/28/92
% - V 3.06  Added the possibility to have an exception file for 
%              each language specified in language.dat            --bg 03/13/92
%           Let \tilde be a normal math command as in plain (reported
%              and corrected by Ronan Keryell)                    --rk 03/15/92
%           Added \lefthyphenmin,\righthyphenmin in case any other language
%              changes default (xx)plain values.                  
%           \fsc proposed to put patronymic names in small caps.  
%           As pointed by D. Flipo \sommaire didn't create a toc (a piece
%              of code was...forgotten in \@starttoc).
%           \refmark now allows refering to a \label as a \footnotemark
%                                                                 --bg 03/17/92
% - V 3.07  \dittomark now globally defined                       
%           \moretolerance might be useful in narrow columns      
%           \@LP and \@RP now expanded defs                       
%           Redefine \newwrite for plain TeX as in lplain         --bg 03/20/92
%           Don't hyphenate \fsc{name}                            
%           \lsc proposed to put names in lower case small caps.  --bg 03/25/92
%           Toc wasn't rewritten if \sommaire given(pointed by DF)--bg 03/30/92
% - V 3.08  Don't hyphenate words starting with a capital letter  
%           Let \! run outside math mode                          --bg 04/02/92
%           \if@filesw eq \relax in TeX                           --bg 04/06/92
% - V 3.09  Added a flag in .toc to know if there is any \tableofcontents
%                 after \sommaire and then have an up-to-date .toc file
%                                                                 --bg 04/06/92
%           Be able to print \sommaire and toc in the same pass   
%           \addtocontents only in LaTeX                          
% - V 3.09a This is the alpha test version for V3.1 distribution  --bg 04/10/92
%           Avoid double \tf@toc defined (specially for Atari implem)
%                                        as D. Flipo pointed out  --bg 04/13/92
% - V 3.09b Propose a \versatim environment as well as \vers that allows 
%                  to hyphenate text in verbatim as done in verse 
%           \allowuchyph and \disallowuchyp introduced
%           \allowuchyph as default (as requested by people at the
%                   "francisation" meeting of 04/15/92, ENS Paris)--bg 04/17/92
%           These commands aren't changed over a \french recall   --bg 04/21/92
%           \obeyspaces reintroduced in versatim environments     --bg 04/23/92
%           Versatim did pollution on verbatim environments       
%           \tthyphenation and \notthyphenation introduced        --bg 04/28/92
%           \@og and \@fg redesigned for plain                    --bg 04/29/92
%           Ronan Keryell suggested a frenchtabbing environment... 
%                I prefered an option (\tabbingaccents}           
%           Count \l@ngue replace by \@nycount (to say reusable)  --bg 05/15/92
%           Update of \subsee as published in TUGboat (H. Thimbleby).
%           As reported by Ronan Keryell french options can't be 
%           easily given in a personal/local style so i decide to 
%           introduce \usersfrenchoptions for style design        --bg 05/29/92
%           Start a line with \fsc will no more introduce a new line
%                     after it (as reported by Ronan Keryell)
%                     \leavevmode introduced in \lsc & \fsc.      --bg 06/03/92
%           Avoid loop when \sommaire is typed twice (rep. R.K.)  
%                     original \tableofcontents definition now saved
%                     outside the definition of \sommaire        --bg 06/04/92
%           Opened guillemets \if flag was erroneously reset when
%                     switching to another language (\@AFP mods)
%           Process \pageref as \ref (pb reported by R. Keryell) --bg 06/19/92
%           Math guillemets changed to do unskip+hskip only when
%                     lastskip was positive (pb rep. R. Keryell) 
%                     & spacing moved from 0.5 to 0.35em         --bg 06/22/92
%           Protect \ier \iere and \ieme                         --bg 07/06/92
%           \nocite now protected (as pointed by Ronan Keryell)  --bg 07/27/92
%           \fsc wasn't protected against an accent macro (as pointed
%                     by R.K.) so i add an  \expandafter of parm --bg 08/20/92
%           Spacing after << was greater than before >> (as pointed
%                     by R.K.) when TeX increase his inter-words tolerance,
%                     so i added appropriate stretchable glue
%                     before >> where there was initially none.  --bg 08/21/92
% - V 3.09c Scheme proposed by Nicolas Jungers to test if < and > 
%                     are the first part of guillemets is included.
%                     Allowing \ifnum and others to run now!     
%           Spaces ignored after \nonfrench                      --bg 08/21/92
%           Check if language numbers are the same as at initex
%                     (suggested by Patrick W. Daly)             
%           \errmessage added when language.dat is invalid.      --bg 08/24/92
%           Reintroduce the old coding of guillemets when
%                     \EBCDICbrackets is active to avoid that 
%                     < < be exactly the same as << (idem > >)   --bg 08/26/92
%           \letpunctuationactive was never reset                --bg 08/27/92
%           Removed test of \space after >> (never okay)         --bg 08/31/92
%           Bernd Raichle claims that TeX expands the first token
%                     of a column entry with a \halign to look for
%                     \noalign, \span and \omit and suggested to
%                     insert a \relax before \iffmode: done everywhere.
%           Versatim environment isn't clean, don't use it in an
%                     \item-ized environment.                    --bg 09/01/92
%           Allow \AllTeX to be printed in all fonts             --bg 09/14/92
%  - V 3.09d Improve letter.sty with address placement via \opening, 
%            as well as \closing layout and propose:
%                     to print \location along with the date
%                     \yourref{...} to refer to the received letter
%                     \ourref{...} for your own reference
%                     \object{...} to precise the object
%                     \PS{...} for a post-scriptum.              --bg 09/22/92
%  - V 3.09e abbrevfr.tex renamed frabbrev.tex
%           \usersfrenchoptions becomes a macro with one parm.   --bg 09/23/92
%            
% -  This is now beta test for V3.10                             --bg 09/23/92
%
%  - V 3.09f \@ufo has not to be redefined if already defined.
%           A lot of change for letters:   
%           Moved to \thispagestyle{firstpage}, layout revisted,
%           \email{...} now proposed as well that heading and footings
%                    via \formhead and \formfoot (odd pages)     --bg 09/25/92 
%           \@glossaryfile closed over \glossaire(s)
%           Define \glossaryentry if undefined                   --bg 10/05/92 
%           Offer a default glossary environment                 
%                    and a \printglossary[filename] command      --bg 10/09/92 
%           Limit parm of \pfill with a blank.                   --bg 11/06/92 
%           Set \captionsnames to french ones only if needed.
%           \captionsfrench were loaded twice at each \french.
%           \endnonfrench was wrong outside \french.             --bg 11/16/92 
%           Replacing tabular by \parbox in \fromaddress printing
%                 and other smart refinements.
%           Create environment "figurette" that means place the
%                 little figure or table EXACTLY here 
%                 (using the idea of David Carlisle) 
%                 (name proposed by Ronan Keryell).              --bg 11/18/92 
%           Offer \pointvirgule, \deuxpoints, \pointinterrogation,
%                 \pointexclamation for normal "; : ? !".         
%           \endtable & \endfigure didnt reset \if@MOVING.       
%           \captionsnames recall corrected.                     --bg 11/19/92 
% - V 3.09g Don't issue a \marginpar when there is no par.       
%           Don't find an abbreviation when it is asken for blank--bg 11/20/92 
%           Open guillemets generated when starting items in 
%                  environments order and itemize when << opened.
% - V 3.10 is now released.                                      --bg 11/23/92 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% - V 3.11 \englishTeX wasnt changed to \englishTeXmods          --bg 11/30/92
%          \@footnotetext wasnt \long defined(found by R.Keryell)
%          \sm@ller needed to be protected in \fup and
%                  in \up (loop found by Michel Lavaud).         --bg 12/01/92
%          Allow language number in \NouveauLanguage to be
%                  a macro (pointed by Daniel Taupin).           --bg 12/08/92
%          Don't bring a new def. for \resume if there is one.   --bg 12/15/92
% - V 3.12 Allow \thanks to have a multiletter \@footnotemark
%                  (pointed by J. Andre comparing with feuro.sty).
%          Add a thin space before each footnote mark as required
%                  by the "Imprimerie Nationale".                
%          Add \em if undefined (outside LaTeX) as an alias of \it.
%          Print the caption text in italics (as required).      --bg 01/04/93
%          \label is earlier protected (required for \thanks) but one
%                  must protect active chars when used in thanks.
%          \thanks now locally redefining the footnotemark.      --bg 01/06/93
% - V 3.13 Print footnote number in the same font as the footnote
%                  text followed by a dot (only outside minipages).
%          Table generate footnotes as in minipage. Surprise! When
%                  using tabular inside the table environment, this
%                  solves definitely the loss of \footnotetext.  
%          Add thin space between footenote char and footenote text
%                  when used in a minipage.                      --bg 01/07/93 
% - V 3.14 \fsc and \lsc changed to process letters with TeX 
%                  diacritics in their parameters.               
%          Protect \glossary (was a LaTeX bug, isn't it?) and avoid
%                  problems with \c macro when used inside.      --bg 01/08/93 
%          Captions names saved are no longer those of the options
%                  of style but those before last \french call.
%          Apply a bypass to the pb when using \c in \glossary.  
%          Guillemets are now an environment and so error processing
%                  can now apply (drawback mentioned by different
%                  persons, i remind D.Taupin and  J.Andre).     --bg 01/11/93
%          Offer \iers, \ieres, \iemes, \numeros and \Numeros
%                  as suggested by R.Keryell and J. Andre.       
%          \footnote & \refmark are now sticked to the last word.--bg 01/12/93
% - V 3.15 Housekeeping of the code and removing globals where they
%                  are unnecessary; every line modified or nearly!
%          \PasDeNumeroDePage suppressed.                        --bg 01/14/93
%          Spacing corrected in \refmark (same as \footnote).    
%          Changing \@@abbrev to \AbbrevName for a more understandable
%                  message when ending " is missing.             
%          Warning message issued if \ifFrench called before all 
%                  the style file is really initialized.         
%          Introduce line number in messages and replace \typeout
%                  with \@fw for printing french warnings.       
%          Save current \everypar in guillemets processing.      --bg 01/19/93
%          Adding a part for \frenchhyphenation and \nofrenchhyphenation
%                  (moving code in this part).                   --bg 01/20/93
%          Add some spacing for at least 3 digits in footnote num.
%          Releasing memory of \frenchmacros after usage.
%          Introducing possibility of reloading hyphenation 
%                  exception files.                              --bg 01/22/93
%          Read language.dat at \begin{document}.
%          Offer \frhyphex to load french exceptions file.       
%          Give a message when options are used before the
%                  \begin{document}.                             --bg 01/25/93
%          Add \GOfrench to initiate the style outside LaTeX.    
%          \fup argument can't be nomore printed in upper case (J.A.
%                  and me don't see any case where it is usefull).
%          \c wasn't appropriately protected over \@wrglossary.  --bg 01/26/93
%          \fnsymbol nomore introduce a thin space which i was
%                  unable to find in my source code. Bypass.     --bg 01/27/93
% - V 3.16 \if switch were not set when \beginlanguage didnt start
%                  french itself (pointed by Marc TORZYNSKI).    --bg 01/28/93
%          Replacing last few \small by \sm@ller, introducing \l@rger,
%                  adding defaults \Huge and \lettrinefont,
%                  reducing \newcounts.
%          Offer \lettrine and \flettrine (thanks to Elmar Schal\"uck
%                  who give me the main coding).                 
%          No need of to keep \@opening,\@closing defs., removed.--bg 02/09/93
%          Forgotten to nullify \fboxsep in \lettrine as pointed by (the
%                  good eyes of a professional) Jacques Andre.   
%          The "before lettrine text" is raised 0.1ex more.      
%          Adding \keywords and \motsclef as proposed by J.Andre 
%                  plus a \kwname in \captionsnames.             --bg 02/12/93
% - V 3.17 Starting mods to load french.sty before \documentstyle:
%                 1- adding \ds@french                           --bg 02/23/93
%          Processing stupid case "> <<" pointed by D.Taupin.    
%          Continuing...
%                 2- saving \labelitemi at \GOfrench time.       --bg 02/24/93
%          Mispelled \l@arger in place of \l@rger.               
% - V 3.18 Continuing... and ending (?)                                        
%                 3- redefining LaTeX macros in \GOfrench ie
%                    when the main style is executed.            
%                 4- defining chapter count in \GOfrench.        --bg 02/25/93
%                 5- moving font code relative to point size.     
%          Mispelled \sm@aller in place of \sm@ller.             
%          Unprocessed case when no language.dat with \french 
%                 or \english already defined, corrected.        --bg 02/26/93
%          \newdimen and \newcount redefined not \outer as
%                 proposed by Daniel Taupin.
%          \lettrine or flettrine do nothing in plain TeX.       
%          Added \small, \normalsize and \large defs for plain.  --bg 03/01/93
%          Forcing \enddocument after fatal error \ERRdat.       
%          Introducing a "poor-man-french" facility via
%                 pmfrench as option of style or \pmfrench       
%                 (nullify \noeveryparguillemets).               --bg 03/02/93
%          Updating messages about OzTeX restrictions.           
% - V 3,19 Dialect possibility offered via language.dat.         --bg 03/03/93
%          Problem when processing ' or '' in math (as pointed
%                 by Cyril Autan}. Left quote not protected in 
%                 math mode too.                                 
%          Activate (or not) single chars only \ifFrench is true.
%          Redefine \newbox as in LaTeX.                         
%          \bye now hidden.                                      
%          \draftname added.                                     --bg 03/08/93
%          Further memory release and \global.                   --bg 03/10/93
%          Lettrine placement depended from previous glue in the page
%                 (J. Andre reproduced the pb with a \vspace).
%                 I only introduce a \smallskip as bypass.       
%          \par forced after \lettrine paragraph in case we have
%                 a \end{document} (pointed by J.Andre).         --bg 03/15/93
%          Case NFSS+DC+LaTeX provided guillemets in \lasy in
%                 spite of DC, as pointed by D.Taupin.           --bg 03/16/93
%          Add the possibility to use a non-upright \lettrinefont
%                 (coding proposed by Ronan Keryell).            
%          Don't define letter titles outside letter style.      --bg 03/17/93
%          Use of \normalsize was inapropriate in \lettrine,
%                 Spacing changed and \parskip=0pt added.        --bg 03/19/93
%          Don't expand \@epORI if undefined (no opening << case).
%          Forbid use of guillemets inside the lettrine text (a
%                 wrong case of use pointed by Ronan Keryell).   
%          \@tempa use in \lsc changed to \csname @temp@\endcsname
%                 (inside thanks produced error, as R.K. pointed)--bg 03/22/93
%          Empty test of marginpar wasn't tested in \endfigurette--bg 03/25/93
%          Restore parm 3 of \@ettrin@ that was skipped.         
%          \parindent wasn't set in French(is null in letter.sty)--bg 03/29/93
%          Some work about counters and dimens:
%                 \@MyCount renamed \@FrCount and once defined.         
%                 \@HminusLRM renamed \@FrDimen.
%                 \@hminusem renamed \@FrDimenS.                      
%                 Dimens for \lettrine revisited too.            
%                 \newwrite and \@unused tested if present.      
%          Memory cleaning revisited.                            --bg 04/02/93
% - V 3,20 Doubly defined message ``french is not activated''.   --bg 04/05/93
%          As stated by Ronan Keryell \standardinput is looking
%                 like the standard_input Unix; so I rename it
%                 as \originalinput. \standardinput will be 
%                 removed in the next version.                   --bg 04/08/93
%          \reset@font removed from \AllTeX (seen by J.Beigbeder)
%          \@lsc required to be protected (pointed by R. Keryell)
%          \boi is now an alias of \backslash (now running inside
%                 the normal text).                              
%          Release \frhyphex after \begin{document}.             --bg 04/19/93
%          Renaming \@if@two as \@temp@.                         
%          \*umer* redesigned.                                   
%          Reduce number of macros in lettrines.                 
%          \nopagenumbers simplified.                            
%          Define letter material only inside the letter style.  --bg 04/20/93
%          Saved "ORI" macros unneeded for \undefined ones.      
%          \pageref was doubly defined!                          
%          Print correctly the page number when its is the first page
%                 of a part or a chapter (in fact each sectioning).
%          Heads with "sommaire" suppressed.                      --bg 04/21/93
%          Letter style new macros redefined outside \ifx \fi.    
%          \formfoot wasn't correctly centered.                   --bg 04/27/93
%          Test of \OPENINPATH to know to avoid pb with \openin.
%          \@finput now doing \openin in any case.                --bg 05/04/93
%          Pstricks.sty of Timothy Van Zandt is now checking for
%                 catcodes after my request. Looking fine for me. 
%          \bef@ly now global for NFSS (saving \ly\the\font).     --bg 05/05/93
%          Check for the invalid \fmtname=lplain-bilingual for
%                 people not having done the install. test.       
%          Messages in French now accentuated.                    --bg 05/07/93
%          \figure might be undefined at the moment \figurette
%                 need to be defined so don't test it is present. --bg 05/11/93
% This version is released.                                       --bg 05/11/93
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Last updates, starting after releasing version 3,20 (May, 11th, 1993):
% ===========
% - V 3,21  - french.sty was unloadable with plain TeX (pointed by DT)
%             few definitions need to be made in a different way
%             (in fact outside any \@ifundefined mechanism).      --bg 06/14/93
% this will be the PATCH 1 of the distribution.
% - V 3,22  - Replacing \nomorefrench by \endfrench to allow 
%             people to code \begin{french}...\end{french}        --bg 06/25/93
%           - Incorrect block propagation trough \lettrine
%             processing (pointed by Jacques Andr\'e).            --bg 06/28/93
%           - \fromaddress printed in a \vbox of 0pt.            Ronan 06/30/93
%           - Put \toaddress at the previous place (4 lines below)--bg 07/01/93
% - V 3,23  - < adapted for AmSLaTeX when followed by \frac as
%                 pointed by Jacques Beigbeder.                   
%           - @ can now be \undefined (pointed by Daniel Taupin).
%           - Former definition of \vert was not saved. New def
%             called former def of \verb (pointed by D. Taupin).  --bg 08/09/93
%           - New version of the @-save-restore mechanism.          DT 08/10/93
%           - Hanging of \lettrine lines can be forced via
%             \def\lettrinehang{n} (J.Andre pointed the pb with Q)--bg 08/10/93
%           - As in babel (TUGboat V14#1 p 60), now defining
%             \prefacename (but unused in french.sty because its
%             definition is looking really simple:
%                     \def\preface{\chapter*{\prefacename}} 
%             BUT NOTICE that the page numbering of a french preface
%                        is usually in roman.                     
%             Babel currently define \languagename as a string of
%             "other" characters; in my opinion i prefer to differ
%             this definition until we come back to "normal" chars.
%           - Sets the orientation of writing as in TeX--XeT
%           - use \FontEncoding if already defined instead of
%                 any other code.                                 --bg 08/17/93
% this will be the PATCH 2 of the distribution.
% -V 3,24 - \bibcite[ pointed wrongly to the original \cite.      
%         - Redefinition of \c in \@wrglossary suppressed since 
%           \c is now correctly defined in hyconfig (MJF mods).   --bg 08/19/93
%         - 8-bit codes for << and >> must not be expanded as 
%           usual with our grouping mechanism when they are
%           inside a verbatim (test is made "a contrario" to see
%           if < or > are \active).                               --bg 08/27/93
%         - Replace \FontEncoding by \encodingdefault of NFSS2.   --bg 08/31/93
%         - NFSS2 code added for guillemets.                      
%           I have noticed that \ref can't be used in math mode
%           with NFSS2 because \ref calls \bf!                    
%         - Using the current encoding if any (\f@encoding).      --bg 09/01/93
%         - \@Hif \@Hfi globaly defined (until other language defs
%              use them).                                         --bg 09/03/93
%         - \noabbreviations was wrongly called by default. It
%              forced \catcode`"=12 (as shown by R.D.Cosmo).      --bg 09/06/93
% V3,25 - \relax wrongly introduced recently in <<.               
%       - \footnote now start with \nobreak to allow hyphenation of
%         previous word (as suggested by Bernd Raichle).          --bg 09/07/93
%       - \@FrDimenH was undefined with \flettrine.               --bg 09/13/93
%       - < and > striped the following braces, specially wrong
%         in maths as pointed by Sylvio Levy. Code \@PreserveBraces
%         added for this purpose.                                 --bg 09/16/93
%       - \lettrine{Essx} striped off ss... (wrong \ifx#2...).    --bg 09/17/93
%       - \the\font replaced by \font in \xxtthyphenation.        --bg 09/27/93
%       - Revisiting < and > codes for simplification and validation
%         of all known test cases. It's now possible to use < and >
%         in macro definitions such like \def\truc<#1|#2>{...}.   --bg 09/29/93
%       - Having no answer from YH i remove the test on
%         \OzTeXUnPointQuatre for OzTeX 1.4 \openin problem.      
%       - "Lettrine" placement revisited. Begining \smallskip 
%         removed. Now independent of the font used. 
%         Warning issued for an alone letter.                     --bg 10/05/93
%       - Define \endenglish if not already done.                 --bg 10/06/93
%       - Test of < and > active removed from \EBCDICbrackets
%         otherwise "<<" and ">>" would never print guillemets.   
%         But now, reversely, 8-bit guillemets print brackets.    
%       - \@genG and \@BracesOrNot \long defined to allow
%         <\par and >\par.                                        
%       - define \lettrine only if not already defined(RK request)--bg 10/08/93
%       - \thanks now \unskip previous space, as our \footnote do.
%       - Spaces ignored after \endfrench and \endnonfrench.
%         Space removed after \beginL.                            --bg 10/11/93
%       - \lettrinehang is automaticaly incremented when used for
%         char which has a depth.                                 --bg 10/19/93
%       - \englishdoublequotes with NFSS2 bypass (as pointed by
%         Denis B. Roegel, log messages issued are not enough
%         protected). This is a bypass (test of hmode added)      --bg 10/21/93
%       - \ifFMA wasn't intially set to \ErrFrench.               
%       - Option "slidesonly" of seminar gobbled french initialization 
%         which should be made at \begin{document} (as pointed by 
%         Denis B. Roegel) and then produced further errors and at
%         least at \end{document}. This is just a bypass:
%         \document modified to inhibit xcomment.sty at this time.--bg 10/28/93
%       - As shown by Denis B. Roegel "L'{\tt a}" produced a loop
%         with NFSS2. This is again a problem of NFSS2 in which
%         all characters are not enough protected. Improved again.--bg 11/04/93
%       - \endguillemets had erroneously a \space included.       --bg 11/05/93
%       - \cite[<< ... >>] output was not in French (as pointed by
%                                               by Jacques Andre).
%         By the way, starting to do a more general macro replacement
%         mechanism. To be completed in further distributions?    --bg 11/08/93
%       - \cite{X} printed [X,] (as pointed by D.Girou).          --bg 11/18/93
%       - \wrontypedspaces now forbidden without previous
%         \letpunctuationactivefor (Denis B.Roegel used it wrongly
%         in the order \usersfrenchoptions).                      --bg 11/24/93
%       - Space missing in lettrines when used in English. But
%         then let a wrong one for a mono-char lettrine.          --bg 11/25/93
% This version is now released as V3,25 of the 25th of November, 1993.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% V 3,26 \input replaced by \@@input (if it exists) as suggested 
%          by Jean-Michel Male.                                   --bg 12/07/93
%        \noenglishdoublequotes printed wrongly opening double
%          quotes when begining of paragraph.                     --bg 12/10/93
%        \encodingdefault{T1} set before  \documentstyle revealed
%          that \frenchspacing was wrongly coded.(msg from D.Girou)
%        As people often use <} and >} in maths it was needed to be
%          protected against "missing argument". Done in math because
%          guillemets were always nullified in maths. Specially
%          pointed by Denis B. Roegel and Eric Domenjoud.         --bg 12/23/93
%        Defined \sc and \em required to be \global.              --bg 01/04/94
%        As suggested by R. Keryell a new option is introduced to
%          allow full upper case hyphenation, in all situations
%          (today \fsc and \lsc), this is \allowfulluchyph.
% This is definiteley patch 3 of the current distribution.        --bg 01/12/94
% V3,27  \f@encoding might be undefined (as pointed by DT),
%          or different from \encodingdefault, so set it.         
%        \@MYrm ws not calling the appropriate mcros (as p. by DT)
%          with NFSS2 and didn't select the font.
%        \frenchspacing was wrong when ECM encoded.               
%        \@FP renamed \@RP (internal Right Paren).                --bg 01/12/94
% This is definiteley patch 4 of the current distribution.        --bg 01/13/94
% V3,28  $x''$ produced an error (! Double superscript) when
%          \noenglishdoublequotes was activated (as pointed by
%          Eric Domenjoud). Plain macro modified with \@cilq.     --bg 01/18/94
%        Don't try to print a footnotemarker in french  when 
%          it is null (pb submitted by Philippe Louarn).          --bg 01/21/94
%        \lettrine base was lower by n*\lineskip.                 --bg 01/31/94
%        \lettrinehang, when specified, must be the value of
%          \hangafter, even the character has a non-null depth.   --bg 02/07/94
%        The French pagestyle used to replace the plain one of
%          book was also used with report. Now it is only defined
%          when the headings pagestyle is called.(p. by Sarayan)  --bg 02/25/94
%        \lettrine and \flettrine "must" start a paragraph; now
%          they do a \par to avoid overwrite of materials in case
%          someone place something before. (pointed by JA).       
%        \newpage, \clear*page are now equal to \relax inside a 
%          \lettrine paragraph (pointed by J. Andre).             --bg 03/08/94
%        A lettrine can now have a depth of 0.025\bsaelineskip
%          without adding one more line of \hangafter (point
%          discussed with J.Andre facing LucidaBright which contains
%          many chars with a significative dp0).                  
%        Warn the user producing a lettrine with \hangafter=1.
%        \@lquote removed, never used.                            --bg 03/09/94
%        \smallskip added after the lettrine paragraph.           --bg 03/10/94
% This is definiteley patch 5 of the current distribution.        --bg 03/11/94
% V3,29  Some time ago Ronan Keryell gave me a code that was able
%          to compute the size of the font when \lettrinehang and
%          fontname were choosen. After simplication and reduction
%          of the code i decided to include it in french.sty with
%          the new control commands \lettrinefontname, 
%          \automaticlettrine and \noautomaticlettrine.           --bg 03/17/94
%        Lettrine placement reconsidered for any \lineskip glue.  --bg 03/18/94
%        \lettrinefontname badly deducted in \automatic...mode.   --bg 04/08/94
%         Can't use `\unskip' in vert. mode in \automaticlettrine.--bg 04/15/94
%        \see and \subsee gobbled curly braces.                   --bg 04/20/94
%        Pagestyle french simplified at max and forced on Index.  --bg 04/22/94
%        Remove announced commands: \oguill \fguill \<< \>> \No
%          \up \standardinput \boi \bv.                           --bg 04/26/94
%        This file is now named french.doc and all comments are
%          removed from the automatically generated french.sty.   --bg 05/02/94
%        A \newdimen was erroneously requested at each automatic
%          lettrine making.                                       --bg 05/09/94
%        \annexe generates a chapter entry in the toc file. This
%          was producing an error when article.sty was in use.
%          A blank line is just added before in the toc file     
%          and a dummy \addtocontents if undefine d.              --bg 05/20/94
%        Last mod. removed. Unnecessary if \chaptermark defined
%          in the style.                                          --bg 05/24/94
% I release this version specially for the "PC-GUT" distribution as
% V3,30  ...which is now of age...                                --bg 05/31/94
% V3,31 Double left quotes were printed as a triple quote when left 
%         quotes were \active (pointed by Jose Grimm).            --bg 06/20/94
%       Disactivate punctuation in \index arguments (pt. J.Grimm) --bg 06/21/94
%       Accept babel definitions of languages (\chardef).         --bg 07/18/94
% V3,32                                                           --bg 07/26/94
%       Our new \index macro must be sanitized.                     
%       This is an intermediate distribution.                     --bg 08/09/94
% V3,33 Modifications for LaTeX2e \fmtname & latexsym.sty as noticed
%         by D.B.Roegel. Few doc changes.                         --bg 08/10/94
%       \tabbing produced a duplicate \fi outside french.         
%       \noresetatpart added for standard numbering of chapters.  --bg 09/20/94
%       Supress unpleasant warning produce by latexsym even
%         if it is unused (eg: \boldmath$\varepsilon$). Pb Reported as 
%         latexbug/917, Response: suppress warning. FMi said: "i would
%         like to schedule this for the winter release"
%       \cite[xx.yy]{zz} produced an undefined Citation `.' due to
%         an incorrect \ifx test in \@gG@.(pointed by L. Duperval)--bg 09/21/94
%       \tabbing (still) produced a duplicate \fi in french.
% V3,34 \a produced a missing \endcsname with \noenglish*quote*.
%         Then \noenglish*quote* will do nothing in \tabbing.     
%       \cite{xx} generated [y,] due to a missing \edef in \@gG@@.--bg 09/26/94
%       Bypass incorrect processing of \protect in current release
%         of 2e patch 3. Should be changed again in winter release--bg 10/03/94
%       Avoid pb with 209 emulation wrong \newcommands.           
%       Avoid pb of 2e package name not requested by setting of
%         \@currname.                                             
%       Protect \glossaryname when writting to toc.               --bg 10/07/94
%       Defining \fguillemets and \endfguillemet which will be the cs
%         for the 8-bit guillemets chars but no easy solution found.
%                                                                 --bg 10/11/94
%       Replacing redefinition hack of \tt by one used in 2e e.g.
%         \verbatim@font in the \versatim environment.    
%       \usepackage not allowed in 2.09, so replaced by \@@input  --bg 10/17/94
%       Protected version of \verb moved to \begin{document} time
%         to take in account loading of latex209.def.             --bg 10/18/94
%       Disactivation of chars was wrong (backslash used).        
%       Add mnemonic cs for (dis)activating french guillemets (this
%         was a request from Giovanni Ferro-Luzzi):
%         \frenchguillemets & \nofrenchguillemets                 --bg 11/18/94
%       Due to changes in the 94' "winter release" of 2e, \protect
%         is no more defined as \empty (produces a loop in each accent
%         macro). So i define it only if \undefined.              
%       Remove definitions for latexsym ovoiding warning, 
%         remove bypass for invalid \protect in toc processing too,
%         now in the "winter release".                            --bg 11/25/94
%       Remove old \pr@m@s def for 2e, duplicate it with active
%         right quote.
%       New accent macros of 2e doesn't generate one char so we must
%         force the immediate mouth expansion, as suggested by Alan
%         Jeffrey. For OT1 test if first parm is an accent macro
%         as suggested by David Carlisle. 
%       In spite of any correct screen output, let accent macros
%         be output as strings in our \@fw messages.              --bg 11/28/94
%       Package makeidx used before french showed that \ifFLA must
%         be correctly defined before \printindex definition (Pb
%         reported by A. Aubord).
%       Last mods now require latex format of 1st December, 94.   
%       "/" char used to complete args replaced by \@@, safer.    --bg 11/30/94
%       Secure \ier in \todayfrench in case undefined.            --bg 12/01/94
%       [7\parskip] is depending of the point size, wrong for the
%         letter_head_space_before_address. Replaced by 0.65in.  
%         Try to compense \baselineskip difference from 10pt opt. --bg 12/02/94
%       The patch-alpha test has a bug in \a. Def. introduced.    
%       Expand all accent in 2e messages via \@fw (done only with 
%         MlTeX)                                                  --bg 12/05/94
%       Unprotect \glossaire(s) for 2e.                           --bg 12/06/94
%       For 2e provide \mdseries instead of NFSS1 \mediumseries.  
%       Never activate "double ponctuation" if any of that 4 chars
%         (: ; ! ?) are allready activated.                       --bg 12/07/94
%       TeX--XeT \endL was a duplicate (done by english.sty).     --bg 12/08/94
%       Protect "!" in [pos] args of array & tabular.             --bg 12/09/94
%       \protecting \minMAJ isn't a good way in 2e.                     
%       Suppress definitions of \filedate & \fileversion.         --bg 12/12/94
%       Allows nothing else than =name in language.dat.           --bg 12/13/94
%       Let language counter progress event = sign after the 
%          first language in language.dat.
%       Remove \a mod for the ALPHA-PATCH.
% V3,35 is now released for the LaTeX winter release.             --bg 12/19/94
%       Make \minMAJ do its jobs in headings.
%       \@tempc renamed \@temp@, during language.dat reading loop
%         and set correctly *before* the loop.                    
%       Don't print the French banner with hexa chars, any way.   --bg 12/23/94
%       Banner was unwriteable in 2.09. Let \protect=\empty.      --bg 12/26/94
% V3,36 \protect \fsc, even in 2e with temporary fix.             --bg 01/04/95
%       Intercepting \guillemotleft&right to avoid any difference
%         between french and 2e guillemets. \endnonfrench will then
%         reset the correct setting, either \frenchguillemets or
%         \nonfrenchguillemets.                                   --bg 01/26/95
%       Save the definition of \guillemot...                      --bg 01/27/95
%       \email used \verb, now forbidden in that place with 2e,
%         replaced by a sinple tt font usage.                     --bg 01/31/95
%       $'$ in a tabbing with \noenglish*quote* entered in a loop
%         as reported by D.B.Roegel. Returned to \@normalrq.      --bg 02/09/95
% V3,37 Default \small et \large changed to avoid printing of
%         "scaled ..." when size is already set (as pointed by
%         Thierry Bouche), for plain with ptmrq font.             --bg 03/02/95
%       \normal&\EBCDIC brackets were initiated even the option
%         \nonfrenchguillemets (\ifFG) was provided.              --bg 03/03/95
%       Few styles (like bnf) activates < and > so it was necessary
%         to integrate such case.                                 --bg 03/06/95
%       \ref (or \label) in a \caption of a figure (or table) generates
%         a non-ended \iffalse (reported by Jose Grimm). Was due 
%         to the generic macro \@Gg which didn't \protect the next 
%         called macro.                                           --bg 03/09/95
%       Need for a math guill, \@mRFG & LFG when already "8000.   --bg 03/10/95
%
% V3,38 Message to inform the user about the font-encoding used 
%         (\usepackage[T1]{fontenc} has to be placed before french)
%         E.Picheral with guillemets pointed this to me in Geneva.--bg 03/17/95
%       Wrong place of ending curly brace in \fsc. 
%       No more expand argument of \fsc to avoid pbs with active
%         chars like in Euro-OzTeX.                               --bg 03/31/95
%       No more expansion of second argument of \fsc.             
%       Italic correction simulated before closing guillemets (\@@FG).
%       \@GenG gobbled the braces, if any, of third argument.
%         Thus, for example, "x >{\tt y} z" printed wrongly "y" in \tt,
%         as pointed by D. Taupin few months ago.                 --bg 04/03/95
%       Allow french to be loaded by another package (restore its
%         name at end of marmelade).                              --bg 04/07/95
%       Nullify \babel@sanitize@arg which introduced problems.    
%       TeX--XeT problems pointed by Simon de Bernard. We decided
%         to remove the mods in english.sty which is assumed to be
%         the default format language and then don't need any 
%         change for the direction of writing.                    --bg 04/10/95
%       Introduce \beginFWdirection ie the first writing direction
%         to be set at \everypar and let \endL be \relax after the
%         \end{document}.                                         --bg 04/18/95
% V3,39 \usepackage{index,french} generated an error message 
%         (\nodocument) as shown by E.Picheral. This was due to 
%         \@ifundefined which redefintion was forced and different 
%         with 2e.                                                
%         And macro name conflict with index package, \@@index
%         rename \@@Findex (thanks to Eric).                      --bg 06/08/95
%       For Babel package 3.5beta, we should not wait until the
%         \begin{document} to initiate all french stuff, thus we
%         do it immediately.                                      
%       \newlabel was wrongly defined with only one argument.     --bg 06/19/95
%       \@thefnmark has changed with june 95 release of LaTeX,
%         as reported by Denis Roegel. \normalfont added for plain.
%         \@textsuperscript for LaTeX simulation.                 
%       @ char was still used after \resetat. \resetat moved.     --bg 06/30/95
%       Dont nullify \l@chapter and others in a babel environment
%         for which nothing is redefined at \begin{document}.     --bg 07/05/95
%       \fnsymbol renamed \@fnsymbol for 2e compliance.           --bg 07/06/95
%       \the\@FrCount wasn't expanded on =language in language.dat
%       \small was defaultly at \magstep1, replaced by 900.
%       \@makefnmark actions was nullified by \@textsuperscript   --bg 07/07/95
%         with \mbox. Gobbling two brackets levels now. Default
%         \@superscript for plain changed accordingly.
% V3,40 is released after extensive testing of "torture" files.   --bg 07/10/95
%       \endtable and \endfigure revisited because some packages
%         define them at \begin{table/figure} time.
%       \@NoAc replaced by \@gobble.
%       As suggested by Denis Girou caption titles are modified (a
%         space removed before title and endash changed to emdash.
%         This is looking ok with 'Les regles de l'IN'.           --bg 08/02/95
%       \@textsuperscript in LaTeX 95/06/01 pl3 has one grouping
%         level removed, same change propagated on \@thefnmark and 
%         \@makefntext.                                           --bg 08/28/95
%       \endtable might be now \relax as in endfloat package (still
%         unusable with french instead).                          --bg 08/29/95
%       \@@ttrine modified by Y.Arrouye to remove superfluous 
%         spaces in "lettrine".                                   --ya 08/30/95
%       french banner didn't accept to be in august ie ao\^ut!    --bg 08/30/95
%V3,40+ now released.                                             --bg 08/30/95
%       \@makefntext doesn't do what we all expected. Duplicate
%         symbol marker in footnote when \fnsymbol used. No
%         superscript usage as required. Pb reported by M. Herrb.
%         The marmelade is too sticky, i decide to define slightly
%         different \@makefntext for pure 2.09 as well as 
%         compatibility mode and 2e.                              --bg 09/26/95
%V3,40+1 Environments figure and table used in 2.09 introduce a
%         superfluous spacing before them with the new mechanism
%         i introduced 08/02/95. Use same turnaround than
%         in native 2e, set them as minipages.                    --bg 09/29/95
%V3,40+2 \footnote markers were wrongly in \textsuperscript under
%         the footnote line with language french. 
%         \@temp@ just reset for correction.                      --bg 10/04/95
%V3,40+3  \fi missing for plain TeX.                              --bg 10/06/95
%       Typo (n in place of m) in definition \@temp@ for previous
%         correction.
%V3,41  Releasing that version on the net.                        --bg 10/10/95
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%V3,42  \@array must not be changed in case ! isn't activated (Denis
%         B. Roegel listed an \inaccesible case with a private 
%         package).                                               --bg 11/24/95
%       \index modified to remove unnecessary \@sanitize and allow
%         \@wrindex to run with more than one argument, like in
%         multind.sty (as shown by Ph. Esperet).                  --bg 11/24/95
%       Loop on ' expension if $'$ is given in a referenced (\eqref)
%         \tag argument of AmSTeX. (pointed by T. Fuhs)           --bg 04/12/95
%       \label{a:b} produced a \missing \endcsname with amsmath.sty
%         (as shown by Pierre Aubert). Due to \label saved by amsmath
%         before the \begin{document}.                            --bg 06/12/95
%       \cite[\S]{...} generates "\@curr@enc undefined", the argument
%         between brackets is now protected for LaTeX (pb reported
%         by Denis B. Roegel) with \@typeset@protect.             --bg 13/12/95
%       Use \rmdefault instead of cmr. (suggested by F.Boulanger).  FB 18/12/95
%       \@fnt renamed \@fntORI.                                   
%       \@thefnmark contained blocking which let footnotes
%         to be typed in default font encoding (F. Boulanger pointed 
%         that always 2 fonts cmr were used), \textnormal used.   
%         Definitely not corrected in 2.09 native/compatible.     
%       Remove protection by \@typeset@protect (12/13/95) and replace
%         \edef definitions with \protected@edef in \@gM@@.       
%       Spacing was skipped for unnumbered footnotes, due to \textnormal
%         introduction, thin space added. 
%       Superfluous \, spacing in text after a null footnote marker, 
%         removed when \thefootnote=\relax.
%       No more need of \! correction in \@fnsymbol (was a bypass
%         introduced on 01/27/93). So no need of macro change.    --bg 27/12/95
% V3,43 New Year! Claudio Beccari pointed to me that \quatro isn't
%         french at all. \quarto introduced. \quatro now obsolate.--bg 01/02/96
%       Ph. Lalevee show me that with fancyheadings package the
%         heading wasn't empty on "plain" pages. This was due to the
%         correction brought by this package. Mine is then obsolate when
%         fancyheadings is active. \ps@plain reset in that case.  --bg 01/04/96
%       \@sanitizefrench modified to take in account former \@sanitize
%         command (pb noticed with amslatex, \index{<@...}). For plain
%         \@sanitize is let to \relax.                            --bg 02/06/96
%       \AtEndDocument could not process real page number because
%         french forced a \clearpage which wasn't under control of
%         \frenchlayout. Anyone can now specify \nofrenchlayout before
%         \end{document} and do anythink \AtEndDocument (which takes
%         its effect afterwards).                                 --bg 02/19/96
%       xypic conflict with guillemets, can be avoided that way:
%         \catcode`\<=\active\catcode`\>=\active
%         \usepackage{xypic,french}
%         Should xypic have an option to activate guillemets? That's
%         a more general pb to solve in the LaTeX kernel.
%         For plain TeX, just load --in that case-- french.sty before
%         xypic.tex.                                              --bg 02/21/96
%       figure and table environments could generate a "TeX capacity 
%         exceeded" (stack overflow) due to a double \begin environment.
%         Macro code was wrongly saved twice and generated a loop. This 
%         pb was pointed by Jacques Andre.
%       \nofrenchhyphenation never worked as an option. The \if..\fi
%         mechanism was allways reset to empty. Problem reported
%         by Thierry Bouche.                                      --bg 03/11/96
% V3,44 Letter address should no float: raggedbottom introduced.
%         Glue added after \closing (suggested by Thierry Bouche). 
%         Added also glue at the end{letter}. \parbox replaced by 
%         tabular for the signature, thus avoiding predefined length.
%         \stopbreak moved later before \closing.                 --bg 04/03/96
%       Enlarge the letter-width on demand (as suggested by Thierry
%         Bouche): new cs \wideletter introduced.                 
%       Never call english.sty, but fenglish.sty to avoid pbs
%         with babel.                                             --bg 04/05/96
% V3,45 released for the net.                                     --bg 04/10/96
% V3,45a \noenglishdoublequotes introduced a \relax in .toc and .aux
%         as pointed by D.B. Roegel. \relax removed from ending 
%         quote \@SRQ.                                            
%        \draftname was ugly, now "- \'epreuve -", finer.         --bg 05/15/96
% V3,45b Environment table* wasn't taken in account (pointed
%         by Yves Bertheau). Code \table* and \endtable* added.   --bg 05/20/96
%        \vref and \vpageref defined in varioref package are now
%         protected against French active chars.                  
%        As TeX-XeT primitive \beginL leaves vertical mode and
%         enters paragraph mode, an empty page was generated by
%         French at \begin{document}, thus before \maketitle, as
%         pointed by F. Boulanger. \beginL initiated by French 
%         is unuseful because it will called by \everypar. So, 
%         i remove this first \beginL.                            --bg 05/21/96
% V3,45c Support of consecutive \footnote added likely as proposed
%         by Robin Fairbairns, 1996/01/03, in multiftn.sty.       --bg 05/21/96
%        Lost day.                                                --bg 05/22/96
%        With AmSTeX \nofrenchguillemets is now the default
%         for math, avoiding "\ @>" to lose its parms ">>".       --bg 05/24/96
% V3,45d Nullify patch 96/06/02 for kbconfig correction of accents
%         in math mode. \FSfd now containing the date of french.  --bg 06/03/96
%        \ifthenelse cs of ifthen package doesn't expand \pageref
%         correctly with french. This is normal because \pageref
%         is protected inside french. The package ifthen says this
%         is "unfortunate" and "This means that the whole \ifthenelse 
%         command does not work by expansion, and so possibly has only 
%         limited usefulness for macro code writers".             
%        Spacing was lost after \footnote, due to \ifnextchar.
%         Replaced by \ifNextNB. Consecutive \footnote must not be
%         separated by a space (or anything else) if one wants the
%         footnote numbers be separated by a coma.                --bg 06/07/96
%        Don't input latexsym package when \ly is defined (for
%         user that will never use OT1 font encoding).            --bg 06/24/96
% V3,46 Load frpatch.sty, if any, to patch french.sty.            --bg 06/25/96
%       \everymath and \everydisplay saved token should contain at 
%         least \relax (pb pointed by Th. Bouche).                --bg 06/28/96
%       Loop on \@PrevE when no language.dat and \english undefined,
%         due to its infinite expansion. Now using \l@english 
%         instead, which is defaultly set to 0.                   --bg 07/01/96
%       As \selectlanguage of babel contains \undefined variable
%         (\babel@savevariable) in 3.5 i check it to decide if i use
%         the babel semantic (\selectlanguage{french}) or the 
%         French one (\french).                                   --bg 07/02/96
% Now we can release it. (babel testing to be improved)           --bg 07/04/96
% V3,47 Index package added one optional argument to \index as
%         shown by D. Girou. Case now included in \seealso too.   --bg 07/11/96
%       Warning messages wrongly expanded for no kbconfig installations
%         as pointed by D.B.Roegel. Local \@gobble had wrong name,
%         changed to \@nobraces (to show we remove braces here). 
%         LaTeX2e uses now a macro \add@accent we must gobble if
%         user don't output 8bits messages. So we do it for non-MlTeX
%         users. Protect ":" in French banner and in usual \@fw (case
%         of ":" is already a macro).                             
%       Notice that if accents in banner are wrongly output to the log
%         that means probably MlTeX is active but kbconfig not chosed.
%       Space added in banner right after the year.               --bg 08/07/96
%       Pagestyle completed for fancy headings, as suggested by  
%         Alexandre Chartre, \ps@french modified.                 
%       \labelsinmargin bug when \label inside a figure, as pointed
%         by Marc Torsynski, then:
%       \figure & \endfigure corrected. 1) French coding wasn't
%         active due to macro names inverted (\@temp@<=>\@Fendfigure)
%         2) \@lim now global, otherwise there is never any label
%         in margin. This is (late) patch 96/09/17
%       \labelsinmargin corrected to allow many \label in a figure
%         or a table.                                             --bg 96/09/12
%       An empty letter \address forced \signature to be flushleft,
%         defaultly \fromaddress is now let to \space.            
%       A \footnote in a table's \caption was printed as in minipage
%         (as pointed by J.Andre). Now normal mark is printed and
%         text doesn't appear (too complicate...) but a message is
%         issued to the user.                                     --bg 96/09/13
%       frpatch.sty 96/09/17 publicly released.
%       \nofrenchguillemets was forced for AmSTeX but \nofrenchguillemets
%         is known after \begin{document}. So each saved box containing
%         maths created before generated an \undefined message
%         as noticed by O.Michel. Expansion of \nofrenchguillemets
%         now differed in \everymath and \everydisplay.           --bg 96/09/23
%       \caption optional parm wasn't processed, as pointed by
%         O.Michel.                                               
%       Messages now numbered in french.doc/sty.                  --bg 96/09/27
%       \originaloutput created to output (active) chars asis.    --bg 96/10/01
%       "Mots clef" replaced by "Mots-cl\'e".                     --bg 96/10/02
%       \unnumberedcaptions{figure/table} added to help. This is
%         a global suboption of frenchtypography. It nullify the
%         according \listof... (figures/tables). It can be used
%         only once. Can't be turned back later in french.        --bg 96/10/03
%       You can use a format "OT1 a la french" ie with kbconfig, even
%         when using Babel, just say \usepackage[OT1]{fontenc} before
%         loading Babel.                                          --bg 96/10/15
%       \@lim now use \@@par (original \par) instead of \par, to
%         bypass a stupid loop over \@restorepar in frenchll test.
%       \@@par defined for Plain as alias of \par.                --bg 96/10/29
% This version V3,47 now released for Mac and PC GUTenberg distribs.   96/10/29
% V3,48 \@@par definition, \@ifundefined incomplete: {else} missing
%         as pointed by Frederic Boulanger.                       --bg 96/11/22
%       A macro \closingsmall was suggested by Th. Bouche to reduce
%         the amount of \medskipamount between closing and signature;
%         This is \fclosing[n]{...}                               
%       Temporary patch for LaTeX 961201beta due to \reverved@f undefined
%         in various (?) situations of letter class.              
%       Reported bug 2341 has a correction in letter.cls:
%         \def\@nobreakcr{%
%          \let \reserved@e \relax
%          \let \reserved@f \relax
%          \vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
%         thus i remove my own patch.                             --bg 96/12/02
%       Babel 3.6 has no more \babel@core@loaded. Few adjustements 
%         for babel 3.6.                                          --bg 97/01/02
%       Superfluous \smallskip after lettrines. Little vertical space
%         missing when lettrines are followed by \section, why?
%       Caption layout is left unchanged with AmSLaTeX which force
%         its own layout with a "." i can't remove.               --bg 97/01/06
%       Double punctuation (;:!?) not fully expanded is now followed
%         by {}. Usefull, for example, for the list of slides of 
%         seminar.                                                --bg 97/01/17
% V3,49 Ulasy ==> ulasy with 96/12/01 version of LaTeX, as pointed
%         by Th. Bouche.
%       \texttt is now protected against french activated chars.  --bg 97/01/28
% V3,49 is released.                                              --bg 97/02/04
%
% V3,50 \undefine instead of \undefined, as pointed by Jose Grimm
%         at the end of french.                                   --bg 97/02/24
%       New replacement strings (\inferieura, \superieura, etc.)
%         protected against "activation". Pointed by Adrian Rezus
%         with \RomanianTeX.                                      --bg 97/02/25
%       Allow package relsize.sty to be used with french (test 
%         made by C. Labouisse) like smaller.sty                  --bg 97/03/03
%       \footnote didn't accept argument with \par (as reported
%         by Ph. Louarn). \long added in \defs.                   --bg 97/03/05
%       Footnote 11x, 22x, etc. incorrectly typeset. Due to the
%         sequence \if\thefootnote\relax instead of \ifx.
%         (pb reported by F.Boulanger).                           --bg 97/03/06
%       \l@chapter was not defined when AmS code present but should
%         be done only for packages styles. Now defined if AmS 
%         document classes are unused.                            --bg 97/03/07
%       Introduce adapted \hyphenation and \showhyphens macros. Need
%         formats to be recreated, according to the current 
%         distributed initex files, otherwise msg --41-.          --bg 97/03/26
%       Slight internal mod to define \babel@core@loaded
%         as in french.ldf used by babel.                         --bg 97/03/26
%       \DFPinfsup modified, \< and \> doesn't exist.             
%       Loop over \hyphenation, due to \h@yphenation multiply
%         redefined and not restored at language switch.          --bg 97/04/28
% V3,51
%       Fine tuning of kerning and glue by D.B.Roegel on spacing
%         after (opening) and before (closing) french guillemets. D.B.R97/05/07
%       Italic correction before closing guillemets made of usual 
%         \/ now, and only when \guillemetsinroman. Otherwise the
%         italic correction might not be appropriate, as suggested
%         by T. Bouche.                                           
%       \vpageref doesn't provided optional argument as pointed by
%         Ph. Esperet.                                            --bg 97/05/16
%       As of today french is now definitely frozen under Plain TeX
%         with the name frplain.sty.                              --bg 97/05/29
% V4,00 ... thus i continue with a new version for LaTeX.         
%       Cosmetic change: \@nodocument now used (instead of our so
%         old \@TooEarly macro).                                  
%       \usersfrenchoptions now reusable until \begin{document}
%         (as suggested by B. Auzeby). Given args are cumulative. --bg 97/05/29
%       \vref and \vpageref modified only if varioref loaded (as
%         shown by Denis Megevand).                               
%       Loop on \showhyphens (at second language switch) removed. --bg 97/05/30
%       \caption is now under control of \[no}frenchtypography 
%         (was a pb of Roland Ducournau).                         
%       \captionseparator added (default is "~--").               --bg 97/06/02
%       Date of frpatch.sty tested for suitability.               --bg 97/06/05
%       Replacing {\sc x} by \textsc{x} and other old font stuff
%         that were in 2.09 (reminded by A. Valentin). \tt is
%         still in use or defined if necessary.                   --bg 97/06/13
%       Replacing \(upper/lower)case by \Make(Lower/Upper)case
%         except for \hyphenation.
%       Using \requirepackage instead of \@@input for latexsym.
%         except for babel in which french is an option.
%       Redefine \@finput to call \InputIfFileExists.             
%       Removing use of \OPENINPATH.
%       Using \ifEightBitOutput, when defined, to output letters
%         with diacritics to the console/log (credit to D.B.Roegel
%         who provides a primary test i modified and included in
%         kbconfig.tex V2.00). \usualmessages forces standard
%         output (e.g. assuming 8bit is possible).                --bg 97/06/20
%       Replacing {\em ...} by \emph{...}.
%       This version 4,00 is released.                            --bg 97/06/26
% V4,01 \textbf used in few places instead of {\bf... }. As pointed
%         by J. Grimm.                                            --bg 97/06/31
%       Bug \\textsc in \AllTeX for... plain as pointed by
%         J. Grimm. Code removed.                                 
%       Bug for \texttt{...$x''=0$}, double superscript, as pointed
%         again by J. Grimm. \@SRQ@ introduced for that purpose.  
%       Replacing last \bf by \bfseries in \l@chapter.            
%       No need of \mathbf in \refmark, old nfss hack removed.    --bg 97/07/02
%       \frenchalias introduced to allow users to do the same
%         as \let but with security, i.e. verify the alias name
%         is not already defined (original comment from B. Thomas)--bg 97/07/04
% V4,02 Major french commands now forbidden before \begin{document}
%         as it was said, for years, in the documentation. This was
%         tested with the new file french.all.
%       \sommaire not executed if \tableofcontents is not defined.
%       \annexe(s) and \glossaire(s) not executed with letter class
%         (more precisely if \chapter undefined).                 --bg 97/07/23
%       \texttt used in \index generated in .idx file a command
%         name with @ character(s). This creates problem for makeindex
%         or at least doesn't give the good result (pointed by
%         D.B.Roegel).                                            --bg 97/07/24
%       As Babel introduced \selectlanguage cmds in aux files, people
%         complain (like C. Wagner) that the message isn't clear
%         enough when they don't use Babel the next time. Thus i
%         introduce a file integrity checker in the .aux file to be
%         clearer when previously used via french only or via 
%         babel+french.                                           --bg 97/08/26
%       \refmark was bugged, due to the fact that it calls \ref
%         which force \itshape in a french table and using \itshape 
%         in math mode is a LaTeX error. No need of \itshape here.--bg 97/09/11
%       \bgroup...\egroup replaced by \begingroup...\endgroup in
%         the table environnement to avoid that giving an endgroup
%         caracter between begin and end don't generate any error.
%         This point was reported by D.Roegel.                    --bg 97/09/16
%       Removed empty {} from "; : ? !" expansions (generated a wrong
%         blank space in maths).                                  
%       \sommaire corrected to take arg in account (bad mod on
%         97/07/23).                                              --bg 97/09/29
%       A day try to run friendly with the polyglot package but
%         found no issue to the sample test in OT1, no solution to
%         the \pg@begin command in glossary file, as well as for
%         unfilled toc, lof and lot file.                         --bg 97/10/08
%       \allowhyphens introduced for use in a compound word for 
%         example to obtain all hypenation points, like in
%         "socio-\allowhyphens culturel". This was pointed to me
%         by P.Perichon.                                          --bg 97/10/23
%       Pass option french to known packages. \@xtrasfrench code
%         added if any (equal to \extrasfrench outside babel).
%       Allow "french" to be a global option.
%       Use \RequirePackage to load latexsym.                     --bg 97/10/31
%       Removed begining space in \partname when the part has
%         no valid number.                                        --bg 97/11/05
%       \slidename now defined (targeting seminar).               --bg 97/11/18
%       More on hyphenation: inside \hyphenation the macro \- is
%         exacly like a blank space, thus allowing separated words
%         of a compound word to be hyphenated if \allowhyphens is
%         used. Notice that \allowhyphens is put before or after
%         the hyphen char depending whether you like hyphenation
%         of the preceding or the next word component. \allowhyphens
%         can only be used inside usual text, not inside the cs
%         \hyphenation.                                           --bg 97/11/19
%       \ifWTS set defaultly to \iffalse rather than undefined.   
%       \languagename now initiated for mlp.
%       \fr@addto replaced by LaTeX macro.
%       {pm}french.cfg now loaded if any.                         --bg 97/11/24
%       Allow \everyparguillemets to end in a inner environnement but 
%         then \endguillemets should be used in the valid environnement.
%         Notice \endguillemets ends the group correctly, before
%         that the group remains open.                            --bg 97/12/04
%       Original \parindent now saved and restored.               --bg 97/12/05
%       \seealso didn't generate |see in the .idx file, due to...
%         History says: "\subsee no more protected by \string V3,47".
%         Protection now reestablished.                           --bg 97/12/18
%
% This version 4,02 is now released.                              --bg 97/12/18
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% further updates are still listed in french.sty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%      checksum        = "60981 1060 9305 72834"
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
