summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-07 23:19:38 +0000
committerKarl Berry <karl@freefriends.org>2013-05-07 23:19:38 +0000
commit5be21ea43e12a7e7e0208ccc712d2001412b7ac7 (patch)
treee733a7991fca8e7f1ef86cabaeb6b33adb3956b5 /Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
parentba25ca7d24c2c129f2e7bbac09232a98b8f61561 (diff)
babel-frenchb now named babel-french
git-svn-id: svn://tug.org/texlive/trunk@30323 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel-french/frenchb.ldf')
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.ldf1388
1 files changed, 1388 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
new file mode 100644
index 00000000000..7a46213f841
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
@@ -0,0 +1,1388 @@
+%%
+%% This is file `frenchb.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% frenchb.dtx (with options: `code')
+%% This is a generated file of the Babel system.
+%% ---------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Daniel Flipo.
+%%
+%% This file may only be distributed together with a copy of the Babel
+%% system. You may however distribute the Babel system without
+%% such generated files.
+%%
+%% The list of all files belonging to the Babel distribution is
+%% given in the file `manifest.bbl'. See also `legal.bbl for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+\ProvidesLanguage{frenchb}
+ [2013/03/14 v2.6b French support from the babel system]
+%% File `frenchb.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989 - 2013
+%% by Daniel Flipo, GUTenberg
+%% Frenchb language Definition File
+%% Copyright (C) 1989 - 2013
+%% by Daniel Flipo, GUTenberg
+%% Please report errors to: Daniel Flipo, GUTenberg
+%% daniel.flipo at free.fr
+\def\CurrentOption{french}
+\LdfInit\CurrentOption\datefrench
+\newif\ifLaTeXe
+\let\bbl@tempa\relax
+\ifx\magnification\@undefined
+ \ifx\@compatibilitytrue\@undefined
+ \PackageError{frenchb.ldf}
+ {LaTeX-2.09 format is no longer supported.\MessageBreak
+ Aborting here}
+ {Please upgrade to LaTeX2e!}
+ \let\bbl@tempa\endinput
+ \else
+ \LaTeXetrue
+ \fi
+\fi
+\bbl@tempa
+\ifx\l@french\@undefined
+ \ifx\l@francais\@undefined
+ \ifx\l@canadien\@undefined
+ \ifx\l@acadian\@undefined
+ \@nopatterns{French}
+ \adddialect\l@french0
+ \else
+ \let\l@french\l@acadian
+ \fi
+ \else
+ \let\l@french\l@canadien
+ \fi
+ \else
+ \let\l@french\l@francais
+ \fi
+\fi
+\ifx\l@francais\@undefined
+ \let\l@francais\l@french
+\fi
+\ifx\l@frenchb\@undefined
+ \let\l@frenchb\l@french
+\fi
+\ifx\l@canadien\@undefined
+ \let\l@canadien\l@french
+\fi
+\ifx\l@acadian\@undefined
+ \let\l@acadian\l@french
+\fi
+\def\datefrancais{\datefrench}
+\def\datefrenchb{\datefrench}
+\def\extrasfrancais{\extrasfrench}
+\def\extrasfrenchb{\extrasfrench}
+\def\noextrasfrancais{\noextrasfrench}
+\def\noextrasfrenchb{\noextrasfrench}
+\newif\ifFBunicode
+\newif\ifFBLuaTeX
+\newif\ifFBXeTeX
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname luatexversion\endcsname\relax
+\else
+ \FBunicodetrue \FBLuaTeXtrue
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+\else
+ \FBunicodetrue \FBXeTeXtrue
+\fi
+\@namedef{extras\CurrentOption}{\lccode`\'=`\'
+ \ifFBLuaTeX \lccode`\'="2019 \fi
+ \ifFBXeTeX \lccode"2019=`\' \fi}
+\@namedef{noextras\CurrentOption}{\lccode`\'=0
+ \ifFBXeTeX \lccode"2019=0 \fi}
+\addto\extrasfrench{\bbl@frenchspacing}
+\addto\noextrasfrench{\bbl@nonfrenchspacing}
+\long\def\STD@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1: #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1: #2\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\newcommand*{\Fcolonspace}{\space}
+\newcommand*{\Fthinspace}{\thinspace}
+\newif\ifFB@active@punct \FB@active@puncttrue
+\newif\ifFB@xetex@punct
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname XeTeXinterchartokenstate\endcsname\relax
+\else
+ \FB@xetex@puncttrue\FB@active@punctfalse
+\fi
+\newif\ifFBAutoSpaceGuill \FBAutoSpaceGuilltrue
+\newif\ifFBguillo@addspace
+\newif\ifFBguillf@addspace
+\newif\ifFBog@addspace \FBog@addspacetrue
+\newif\ifFBfg@addspace \FBfg@addspacetrue
+\newcount\FB@interchartokenstateORI
+\ifFB@xetex@punct
+ \ifLaTeXe
+ \PackageInfo{frenchb.ldf}{No need for active punctuation characters
+ \MessageBreak with this version of XeTeX! reported}
+ \fi
+ \@ifundefined{@for}{%
+ \def\@nnil{\@nil}%
+ \def\@empty{}%
+ \def\@fornoop#1\@@#2#3{}%
+ \long\def\@for#1:=#2\do#3{%
+ \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+ \ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}%
+ \long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+ #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}%
+ \long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}%
+ \def\@tfor#1:={\@tf@r#1 }%
+ \long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else
+ \@tforloop#2\@nil\@nil\@@#1{#3}\fi}%
+ \long\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@tforloop\fi#2\@@#3{#4}}%
+ }{}%
+ \newXeTeXintercharclass\FB@punctthick
+ \newXeTeXintercharclass\FB@punctthin
+ \newXeTeXintercharclass\FB@punctnul
+ \newXeTeXintercharclass\FB@punctguilo
+ \newXeTeXintercharclass\FB@punctguilf
+ \def\FB@charclassesORI{}
+ \def\empty{}
+ \def\FB@parse#1,#2\endparse{\def\FB@class{#1}%
+ \def\FB@charclassesORI{#2}}%
+ \newcommand*{\FB@xetex@punct@french}{%
+ \ifx\FB@charclassesORI\empty
+ \FB@interchartokenstateORI=\XeTeXinterchartokenstate
+ \@for\FB@char:={`\:,`\;,`\!,`\?,"AB,"BB,`\(,`\[,`\{,`\,,`\.,%
+ `\-,`\),`\],`\},`\%,"22,"27,"60,"2019}\do
+ {\edef\FB@charclassesORI{\FB@charclassesORI%
+ \the\XeTeXcharclass\FB@char,}}%
+ \let\shorthandonORI\shorthandon
+ \let\shorthandoffORI\shorthandoff
+ \fi
+ \XeTeXinterchartokenstate=1
+ \XeTeXcharclass `\: = \FB@punctthick
+ \XeTeXinterchartoks \z@ \FB@punctthick = {%
+ \ifhmode\FDP@colonspace\fi}%
+ \XeTeXinterchartoks \FB@punctguilf \FB@punctthick = {%
+ \FDP@colonspace}%
+ \XeTeXinterchartoks 255 \FB@punctthick = {%
+ \ifhmode\unskip\penalty\@M\Fcolonspace\fi}%
+ \@for\FB@char:={`\;,`\!,`\?}\do
+ {\XeTeXcharclass\FB@char=\FB@punctthin}%
+ \XeTeXinterchartoks \z@ \FB@punctthin = {%
+ \ifhmode\FDP@thinspace\fi}%
+ \XeTeXinterchartoks \FB@punctguilf \FB@punctthin = {%
+ \FDP@thinspace}%
+ \XeTeXinterchartoks 255 \FB@punctthin = {%
+ \ifhmode\unskip\penalty\@M\Fthinspace\fi}%
+ \XeTeXinterchartoks \FB@punctguilo \z@ = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \XeTeXinterchartoks \FB@punctguilo 255 = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\ignorespaces\fi}%
+ \XeTeXinterchartoks \z@ \FB@punctguilf = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \XeTeXinterchartoks \FB@punctthin \FB@punctguilf = {%
+ \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \XeTeXinterchartoks 255 \FB@punctguilf = {%
+ \ifFBAutoSpaceGuill\unskip\FBguill@spacing\fi}%
+ \@for\FB@char:={`\[,`\(}\do
+ {\XeTeXcharclass\FB@char=\FB@punctnul}%
+ \@for\FB@char:={`\{,`\,,`\.,`\-,`\),`\],`\},`\%,%
+ "22,"27,"60,"2019}\do
+ {\XeTeXcharclass\FB@char=\z@}%
+ \def\shorthandoff##1{%
+ \@ifundefined{PackageWarning}%
+ {\let\PackageWarning\undefined}%
+ {\PackageWarning{frenchb.ldf}{\protect\shorthandoff{;:!?} is
+ helpless with XeTeX,\MessageBreak use \protect\NoAutoSpacing
+ \space *inside a group* instead;\MessageBreak reported}%
+ }%
+ }%
+ \def\shorthandon##1{}%
+ }
+ \newcommand*{\FB@xetex@punct@nonfrench}{%
+ \ifx\FB@charclassesORI\empty
+ \else
+ \@for\FB@char:={`\:,`\;,`\!,`\?,"AB,"BB,`\(,`\[,`\{,`\,,`\.,%
+ `\-,`\),`\],`\},"22,"25,"27,"60,"2019}\do
+ {\expandafter\FB@parse\FB@charclassesORI\endparse
+ \XeTeXcharclass\FB@char=\FB@class}%
+ \def\FB@charclassesORI{}%
+ \XeTeXinterchartokenstate=\FB@interchartokenstateORI
+ \let\shorthandon\shorthandonORI
+ \let\shorthandoff\shorthandoffORI
+ \fi
+ }
+ \addto\extrasfrench{\FB@xetex@punct@french}
+ \addto\noextrasfrench{\FB@xetex@punct@nonfrench}
+\fi
+\ifFB@active@punct
+ \initiate@active@char{:}%
+ \initiate@active@char{;}%
+ \initiate@active@char{!}%
+ \initiate@active@char{?}%
+ \declare@shorthand{french}{;}{%
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \unskip\penalty\@M\Fthinspace
+ \else
+ \FDP@thinspace
+ \fi
+ \fi
+ \string;}
+ \declare@shorthand{french}{!}{%
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \unskip\penalty\@M\Fthinspace
+ \else
+ \FDP@thinspace
+ \fi
+ \fi
+ \string!}
+ \declare@shorthand{french}{?}{%
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \unskip\penalty\@M\Fthinspace
+ \else
+ \FDP@thinspace
+ \fi
+ \fi
+ \string?}
+ \declare@shorthand{french}{:}{%
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \unskip\penalty\@M\Fcolonspace
+ \else
+ \FDP@colonspace
+ \fi
+ \fi
+ \string:}
+ \declare@shorthand{system}{:}{\string:}
+ \declare@shorthand{system}{!}{\string!}
+ \declare@shorthand{system}{?}{\string?}
+ \declare@shorthand{system}{;}{\string;}
+ \addto\extrasfrench{%
+ \languageshorthands{french}%
+ \bbl@activate{:}\bbl@activate{;}%
+ \bbl@activate{!}\bbl@activate{?}%
+ }
+ \addto\noextrasfrench{%
+ \bbl@deactivate{:}\bbl@deactivate{;}%
+ \bbl@deactivate{!}\bbl@deactivate{?}}
+\fi
+\newif\ifFBAutoSpacePunctuation \FBAutoSpacePunctuationtrue
+\def\autospace@beforeFDP{%
+ \def\FDP@thinspace{\penalty\@M\Fthinspace}%
+ \def\FDP@colonspace{\penalty\@M\Fcolonspace}}
+\def\noautospace@beforeFDP{\let\FDP@thinspace\@empty
+ \let\FDP@colonspace\@empty}
+\ifLaTeXe
+ \def\AutoSpaceBeforeFDP{\autospace@beforeFDP
+ \FBAutoSpacePunctuationtrue}
+ \def\NoAutoSpaceBeforeFDP{\noautospace@beforeFDP
+ \FBAutoSpacePunctuationfalse}
+\else
+ \let\AutoSpaceBeforeFDP\autospace@beforeFDP
+ \let\NoAutoSpaceBeforeFDP\noautospace@beforeFDP
+ \fi
+\AutoSpaceBeforeFDP
+\ifLaTeXe
+ \let\ttfamilyORI\ttfamily
+ \let\rmfamilyORI\rmfamily
+ \let\sffamilyORI\sffamily
+ \DeclareRobustCommand\ttfamilyFB{%
+ \FBAutoSpaceGuillfalse
+ \FBog@addspacetrue \FBfg@addspacetrue
+ \noautospace@beforeFDP\ttfamilyORI}%
+ \DeclareRobustCommand\rmfamilyFB{%
+ \FBAutoSpaceGuilltrue
+ \ifFBguillo@addspace\FBog@addspacefalse\fi
+ \ifFBguillf@addspace\FBfg@addspacefalse\fi
+ \ifFBAutoSpacePunctuation
+ \autospace@beforeFDP
+ \else
+ \noautospace@beforeFDP
+ \fi
+ \rmfamilyORI}%
+ \DeclareRobustCommand\sffamilyFB{%
+ \FBAutoSpaceGuilltrue
+ \ifFBguillo@addspace\FBog@addspacefalse\fi
+ \ifFBguillf@addspace\FBfg@addspacefalse\fi
+ \ifFBAutoSpacePunctuation
+ \autospace@beforeFDP
+ \else
+ \noautospace@beforeFDP
+ \fi
+ \sffamilyORI}%
+\fi
+\newcommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse
+ \FBog@addspacetrue \FBfg@addspacetrue
+ \ifFB@active@punct\shorthandoff{;:!?}\fi
+ \ifFB@xetex@punct\XeTeXinterchartokenstate=0\fi
+}
+\newcommand*{\og}{\@empty}
+\newcommand*{\fg}{\@empty}
+\ifLaTeXe
+\else
+ \ifFBunicode
+ \def\guillemotleft{{\char"00AB}}
+ \def\guillemotright{{\char"00BB}}
+ \def\textquotedblleft{{\char"201C}}
+ \def\textquotedblright{{\char"201D}}
+ \else
+ \def\guillemotleft{\leavevmode\raise0.25ex
+ \hbox{$\scriptscriptstyle\ll$}}
+ \def\guillemotright{\raise0.25ex
+ \hbox{$\scriptscriptstyle\gg$}}
+ \def\textquotedblleft{``}
+ \def\textquotedblright{''}
+ \fi
+ \let\xspace\relax
+\fi
+\newcommand*{\FBguill@spacing}{\penalty\@M\hskip.8\fontdimen2\font
+ plus.3\fontdimen3\font
+ minus.8\fontdimen4\font}
+\DeclareRobustCommand*{\FB@og}{\leavevmode\guillemotleft
+ \ifFBog@addspace\FBguill@spacing\fi}
+\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
+ \ifFBfg@addspace\FBguill@spacing\fi
+ \guillemotright\xspace}
+\ifLaTeXe
+ \def\bbl@frenchguillemets{\renewcommand*{\og}{\FB@og}%
+ \renewcommand*{\fg}{\FB@fg}}
+ \def\bbl@nonfrenchguillemets{\renewcommand*{\og}{\textquotedblleft}%
+ \renewcommand*{\fg}{\ifdim\lastskip>\z@\unskip\fi
+ \textquotedblright}}
+\else
+ \def\bbl@frenchguillemets{\let\og\FB@og
+ \let\fg\FB@fg}
+ \def\bbl@nonfrenchguillemets{\def\og{\textquotedblleft}%
+ \def\fg{\ifdim\lastskip>\z@\unskip\fi\textquotedblright}}
+\fi
+\addto\extrasfrench{\bbl@frenchguillemets}
+\addto\noextrasfrench{\bbl@nonfrenchguillemets}
+\@namedef{date\CurrentOption}{%
+ \def\today{{\number\day}\ifnum1=\day {\ier}\fi \space
+ \ifcase\month
+ \or janvier\or f{\FBeacute}vrier\or mars\or avril\or mai\or
+ juin\or juillet\or ao{\FBucirconflexe}t\or septembre\or
+ octobre\or novembre\or d{\FBeacute}cembre\fi
+ \space \number\year}}
+\newif\ifFB@poorman
+\newdimen\FB@Mht
+\ifLaTeXe
+ \AtEndOfPackage{\RequirePackage{scalefnt}}
+ \newcommand*{\FBsupR}{-0.12}
+ \newcommand*{\FBsupS}{0.65}
+ \newcommand*{\FB@lc}[1]{\MakeLowercase{#1}}
+ \DeclareRobustCommand*{\FB@up@fake}[1]{%
+ \settoheight{\FB@Mht}{M}%
+ \addtolength{\FB@Mht}{\FBsupR \FB@Mht}%
+ \addtolength{\FB@Mht}{-\FBsupS ex}%
+ \raisebox{\FB@Mht}{\scalefont{\FBsupS}{\FB@lc{#1}}}%
+ }
+ \def\FB@split#1#2#3#4\@nil{\def\FB@firstthree{#1#2#3}%
+ \def\FB@suffix{#4}}
+ \def\FB@x{x}
+ \def\FB@j{j}
+ \DeclareRobustCommand*{\FB@up}[1]{%
+ \bgroup \FB@poormantrue
+ \expandafter\FB@split\f@family\@nil
+ \edef\reserved@a{\lowercase{%
+ \noexpand\IfFileExists{\f@encoding\FB@firstthree -sup.fd}}}%
+ \reserved@a
+ {\ifx\FB@suffix\FB@x \FB@poormanfalse\fi
+ \ifx\FB@suffix\FB@j \FB@poormanfalse\fi
+ \ifFB@poorman \FB@up@fake{#1}%
+ \else \FB@up@real{#1}%
+ \fi}%
+ {\FB@up@fake{#1}}%
+ \egroup}
+ \newcommand*{\FB@up@real}[1]{\bgroup
+ \fontfamily{\FB@firstthree -sup}\selectfont \FB@lc{#1}\egroup}
+ \DeclareRobustCommand*{\fup}[1]{%
+ \@ifundefined{realsuperscript}%
+ {\FB@up{#1}\let\realsuperscript\undefined}%
+ {\bgroup\let\fakesuperscript\FB@up@fake
+ \realsuperscript{\FB@lc{#1}}\egroup}}
+ \providecommand*{\up}{\relax}
+\else
+ \providecommand*{\up}[1]{\leavevmode\raise1ex\hbox{\sevenrm #1}}
+\fi
+\def\ieme{\up{\lowercase{e}}\xspace}
+\def\iemes{\up{\lowercase{es}}\xspace}
+\def\ier{\up{\lowercase{er}}\xspace}
+\def\iers{\up{\lowercase{ers}}\xspace}
+\def\iere{\up{\lowercase{re}}\xspace}
+\def\ieres{\up{\lowercase{res}}\xspace}
+\newcommand*{\FrenchEnumerate}[1]{%
+ #1\up{\lowercase{o}}\kern+.3em}
+\newcommand*{\FrenchPopularEnumerate}[1]{%
+ #1\up{\lowercase{o}})\kern+.3em}
+\def\primo{\FrenchEnumerate1}
+\def\secundo{\FrenchEnumerate2}
+\def\tertio{\FrenchEnumerate3}
+\def\quarto{\FrenchEnumerate4}
+\def\fprimo){\FrenchPopularEnumerate1}
+\def\fsecundo){\FrenchPopularEnumerate2}
+\def\ftertio){\FrenchPopularEnumerate3}
+\def\fquarto){\FrenchPopularEnumerate4}
+\DeclareRobustCommand*{\No}{N\up{\lowercase{o}}\kern+.2em}
+\DeclareRobustCommand*{\no}{n\up{\lowercase{o}}\kern+.2em}
+\DeclareRobustCommand*{\Nos}{N\up{\lowercase{os}}\kern+.2em}
+\DeclareRobustCommand*{\nos}{n\up{\lowercase{os}}\kern+.2em}
+\DeclareRobustCommand*{\bsc}[1]{\leavevmode\begingroup\kern0pt
+ \scshape #1\endgroup}
+\ifLaTeXe\else\let\scshape\relax\fi
+\ifFBunicode
+ \newcommand*{\at}{{\char"0040}}
+ \newcommand*{\circonflexe}{{\char"005E}}
+ \newcommand*{\tild}{{\char"007E}}
+ \newcommand*{\boi}{\textbackslash}
+ \newcommand*{\degre}{{\char"00B0}}
+\else
+ \ifLaTeXe
+ \DeclareTextSymbol{\at}{T1}{64}
+ \DeclareTextSymbol{\circonflexe}{T1}{94}
+ \DeclareTextSymbol{\tild}{T1}{126}
+ \DeclareTextSymbolDefault{\at}{T1}
+ \DeclareTextSymbolDefault{\circonflexe}{T1}
+ \DeclareTextSymbolDefault{\tild}{T1}
+ \DeclareRobustCommand*{\boi}{\textbackslash}
+ \DeclareRobustCommand*{\degre}{\r{}}
+ \else
+ \def\T@one{T1}
+ \ifx\f@encoding\T@one
+ \newcommand*{\degre}{{\char6}}
+ \else
+ \newcommand*{\degre}{{\char23}}
+ \fi
+ \newcommand*{\at}{{\char64}}
+ \newcommand*{\circonflexe}{{\char94}}
+ \newcommand*{\tild}{{\char126}}
+ \newcommand*{\boi}{$\backslash$}
+ \fi
+\fi
+\newcommand*{\FBagrave}{\`a}
+\newcommand*{\FBegrave}{\`e}
+\newcommand*{\FBeacute}{\'e}
+\newcommand*{\FBucirconflexe}{\^u}
+\ifFBunicode
+ \ifLaTeXe
+ \else
+ \def\FBagrave{{\char"00E0}}
+ \def\FBegrave{{\char"00E8}}
+ \def\FBeacute{{\char"00E9}}
+ \def\FBucirconflexe{{\char"00FB}}
+ \fi
+\fi
+\ifLaTeXe
+ \newcommand*{\degres}{\degre}
+ \ifFBunicode
+ \DeclareRobustCommand*{\degres}{\degre}
+ \else
+ \def\Warning@degree@TSone{%
+ \PackageWarning{frenchb.ldf}{%
+ Degrees would look better in TS1-encoding:
+ \MessageBreak add \protect
+ \usepackage{textcomp} to the preamble.
+ \MessageBreak Degrees used}}
+ \AtBeginDocument{\@ifundefined{DeclareEncodingSubset}%
+ {\DeclareRobustCommand*{\degres}{%
+ \leavevmode\hbox to 0.3em{\hss\degre\hss}%
+ \Warning@degree@TSone
+ \global\let\Warning@degree@TSone\relax}%
+ \let\textdegree\degres}%
+ {\DeclareRobustCommand*{\degres}{%
+ \hbox{\UseTextSymbol{TS1}{\textdegree}}}}%
+ }
+ \fi
+\else
+ \newcommand*{\degres}{%
+ \leavevmode\hbox to 0.3em{\hss\degre\hss}}
+\fi
+\newcount\std@mcc
+\newcount\dec@mcc
+\std@mcc=\mathcode`\,
+\dec@mcc=\std@mcc
+\@tempcnta=\std@mcc
+\divide\@tempcnta by "1000
+\multiply\@tempcnta by "1000
+\advance\dec@mcc by -\@tempcnta
+\newcommand*{\DecimalMathComma}{\iflanguage{french}%
+ {\mathcode`\,=\dec@mcc}{}%
+ \addto\extrasfrench{\mathcode`\,=\dec@mcc}}
+\newcommand*{\StandardMathComma}{\mathcode`\,=\std@mcc
+ \addto\extrasfrench{\mathcode`\,=\std@mcc}}
+\addto\noextrasfrench{\mathcode`\,=\std@mcc}
+\newcommand*{\nombre}[1]{{#1}\message{%
+ *** \noexpand\nombre no longer formats numbers\string! ***}}%
+\let\FBstop@here\relax
+\def\FBclean@on@exit{\let\ifLaTeXe\undefined
+ \let\LaTeXetrue\undefined
+ \let\LaTeXefalse\undefined}
+\ifx\magnification\@undefined
+\else
+ \def\FBstop@here{\let\STD@makecaption\relax
+ \FBclean@on@exit
+ \ldf@quit\CurrentOption\endinput}
+\fi
+\FBstop@here
+\renewcommand*{\nombre}[1]{\Warning@nombre\numprint{#1}}
+\newcommand*{\Warning@nombre}{%
+ \@ifundefined{numprint}%
+ {\PackageWarning{frenchb.ldf}{%
+ \protect\nombre\space now relies on package numprint.sty,
+ \MessageBreak add \protect
+ \usepackage[autolanguage]{numprint}\MessageBreak
+ to your preamble *after* loading babel, \MessageBreak
+ see file numprint.pdf for more options.\MessageBreak
+ \protect\nombre\space called}%
+ \global\let\Warning@nombre\relax
+ \global\let\numprint\undefined
+ }{}%
+}
+\newcommand*{\ThinSpaceInFrenchNumbers}{%
+ \PackageWarning{frenchb.ldf}{%
+ Type \protect\frenchbsetup{ThinSpaceInFrenchNumbers}
+ \MessageBreak Command \protect\ThinSpaceInFrenchNumbers\space
+ is no longer\MessageBreak defined in frenchb v.~2,}}
+\@namedef{captions\CurrentOption}{%
+ \def\refname{R{\FBeacute}f{\FBeacute}rences}%
+ \def\abstractname{R{\FBeacute}sum{\FBeacute}}%
+ \def\bibname{Bibliographie}%
+ \def\prefacename{Pr{\FBeacute}face}%
+ \def\chaptername{Chapitre}%
+ \def\appendixname{Annexe}%
+ \def\contentsname{Table des mati{\FBegrave}res}%
+ \def\listfigurename{Table des figures}%
+ \def\listtablename{Liste des tableaux}%
+ \def\indexname{Index}%
+ \def\figurename{{\scshape Figure}}%
+ \def\tablename{{\scshape Table}}%
+ \def\partname{\protect\@Fpt partie}%
+ \def\@Fpt{{\ifcase\value{part}\or Premi{\FBegrave}re\or
+ Deuxi{\FBegrave}me\or Troisi{\FBegrave}me\or
+ Quatri{\FBegrave}me\or Cinqui{\FBegrave}me\or
+ Sixi{\FBegrave}me\or Septi{\FBegrave}me\or Huiti{\FBegrave}me\or
+ Neuvi{\FBegrave}me\or Dixi{\FBegrave}me\or Onzi{\FBegrave}me\or
+ Douzi{\FBegrave}me\or Treizi{\FBegrave}me\or
+ Quatorzi{\FBegrave}me\or Quinzi{\FBegrave}me\or
+ Seizi{\FBegrave}me\or Dix-septi{\FBegrave}me\or
+ Dix-huiti{\FBegrave}me\or Dix-neuvi{\FBegrave}me\or
+ Vingti{\FBegrave}me\fi}\space\def\thepart{}}%
+ \def\pagename{page}%
+ \def\seename{voir}%
+ \def\alsoname{voir aussi}%
+ \def\enclname{P.~J. }%
+ \def\ccname{Copie {\FBagrave} }%
+ \def\headtoname{}%
+ \def\proofname{D{\FBeacute}monstration}%
+ \def\glossaryname{Glossaire}%
+ }
+\AtBeginDocument{\let\captions@French\captionsfrench
+ \@ifundefined{captionsfrenchb}%
+ {\let\captions@Frenchb\relax}%
+ {\let\captions@Frenchb\captionsfrenchb}%
+ \@ifundefined{captionsfrancais}%
+ {\let\captions@Francais\relax}%
+ {\let\captions@Francais\captionsfrancais}%
+ \def\captionsfrench{\captions@French
+ \captions@Francais\captions@Frenchb}%
+ \def\captionsfrancais{\captionsfrench}%
+ \def\captionsfrenchb{\captionsfrench}%
+ }
+\@ifpackagewith{babel}{canadien}{%
+ \def\captionscanadien{\captionsfrench}%
+ \def\datecanadien{\datefrench}%
+ \def\extrascanadien{\extrasfrench}%
+ \def\noextrascanadien{\noextrasfrench}%
+ }{}
+\@ifpackagewith{babel}{acadian}{%
+ \def\captionsacadian{\captionsfrench}%
+ \def\dateacadian{\datefrench}%
+ \def\extrasacadian{\extrasfrench}%
+ \def\noextrasacadian{\noextrasfrench}%
+ }{}
+\newcommand{\FBWarning}[2]{\PackageWarning{#1}{#2}}
+\def\CaptionSeparator{\string:\space}
+\long\def\FB@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1\CaptionSeparator #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1\CaptionSeparator #2\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\AtBeginDocument{%
+ \ifx\@makecaption\STD@makecaption
+ \global\let\@makecaption\FB@makecaption
+ \else
+ \@ifundefined{@makecaption}%
+ {\let\@makecaption\undefined}%
+ {\FBWarning{frenchb.ldf}%
+ {The definition of \protect\@makecaption\space
+ has been changed,\MessageBreak
+ frenchb will NOT customise it;\MessageBreak reported}%
+ }%
+ \fi
+ \let\FB@makecaption\relax
+ \let\STD@makecaption\relax
+}
+\addto\extrasfrench{%
+ \def\CaptionSeparator{\space\textendash\space}}
+\addto\noextrasfrench{%
+ \def\CaptionSeparator{\string:\space}}
+\let\listORI\list
+\def\FB@listVsettings{%
+ \setlength{\itemsep}{0.4ex plus 0.2ex minus 0.2ex}%
+ \setlength{\parsep}{0.4ex plus 0.2ex minus 0.2ex}%
+ \setlength{\topsep}{0.8ex plus 0.4ex minus 0.4ex}%
+ \setlength{\partopsep}{0.4ex plus 0.2ex minus 0.2ex}%
+ \@tempdima=\parskip
+ \addtolength{\topsep}{-\@tempdima}%
+ \addtolength{\partopsep}{\@tempdima}%
+}
+\def\listFB#1#2{\listORI{#1}{\FB@listVsettings #2}}
+\newcommand*{\FrenchLabelItem}{\textemdash}
+\newcommand*{\Frlabelitemi}{\FrenchLabelItem}
+\newcommand*{\Frlabelitemii}{\FrenchLabelItem}
+\newcommand*{\Frlabelitemiii}{\FrenchLabelItem}
+\newcommand*{\Frlabelitemiv}{\FrenchLabelItem}
+\newif\ifFB@enterFrench \FB@enterFrenchtrue
+\def\bbl@frenchlabelitems{%
+ \ifFB@enterFrench
+ \let\@ltiORI\labelitemi
+ \let\@ltiiORI\labelitemii
+ \let\@ltiiiORI\labelitemiii
+ \let\@ltivORI\labelitemiv
+ \let\labelitemi\Frlabelitemi
+ \let\labelitemii\Frlabelitemii
+ \let\labelitemiii\Frlabelitemiii
+ \let\labelitemiv\Frlabelitemiv
+ \ifdim\labelwidthFB<\z@
+ \settowidth{\labelwidthFB}{\FrenchLabelItem}%
+ \fi
+ \ifdim\listindentFB<\z@
+ \ifdim\parindent=\z@
+ \setlength{\listindentFB}{1.5em}%
+ \else
+ \setlength{\listindentFB}{\parindent}%
+ \fi
+ \fi
+ \FB@enterFrenchfalse
+ \fi
+}
+\def\bbl@nonfrenchlabelitems{%
+ \ifFB@enterFrench
+ \else
+ \let\Frlabelitemi\labelitemi
+ \let\Frlabelitemii\labelitemii
+ \let\Frlabelitemiii\labelitemiii
+ \let\Frlabelitemiv\labelitemiv
+ \let\labelitemi\@ltiORI
+ \let\labelitemii\@ltiiORI
+ \let\labelitemiii\@ltiiiORI
+ \let\labelitemiv\@ltivORI
+ \FB@enterFrenchtrue
+ \fi
+}
+\newlength\listindentFB
+\setlength{\listindentFB}{-1pt}
+\newlength\labelwidthFB
+\setlength{\labelwidthFB}{-1pt}
+\newlength\leftmarginFB
+\def\FB@listHsettings{%
+ \leftmarginFB\labelwidthFB
+ \advance\leftmarginFB \labelsep
+ \leftmargini\leftmarginFB
+ \advance\leftmargini \listindentFB
+ \leftmarginii\leftmarginFB
+ \leftmarginiii\leftmarginFB
+ \leftmarginiv\leftmarginFB
+ \leftmargin\csname leftmargin\romannumeral\the\@listdepth\endcsname
+}
+\def\FB@itemizesettings{%
+ \setlength{\itemsep}{\z@}%
+ \setlength{\parsep}{\z@}%
+ \setlength{\topsep}{\z@}%
+ \setlength{\partopsep}{\z@}%
+ \@tempdima=\parskip
+ \addtolength{\topsep}{-\@tempdima}%
+ \addtolength{\partopsep}{\@tempdima}%
+ \ifFBListOldLayout
+ \settowidth{\labelwidth}{\csname\@itemitem\endcsname}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \addtolength{\leftmargin}{\parindent}%
+ \else
+ \FB@listHsettings
+ \fi
+}
+\def\itemizeFB{%
+ \ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter
+ \listORI
+ \csname\@itemitem\endcsname
+ \FB@itemizesettings
+ \fi}
+\def\enumerateFB{%
+ \ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \expandafter
+ \list
+ \csname label\@enumctr\endcsname
+ {\FB@listHsettings
+ \usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%
+ \fi}
+\def\descriptionFB{%
+ \list{}{\FB@listHsettings
+ \labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+\def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue}
+\def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORI
+ \@afterindentfalse}
+\AtBeginDocument{\@ifpackageloaded{bigfoot}%
+ {\FBWarning{frenchb.ldf}%
+ {bigfoot package in use.\MessageBreak
+ frenchb will NOT customise footnotes;\MessageBreak
+ reported}}%
+ {\let\@footnotemarkORI\@footnotemark
+ \def\@footnotemarkFB{\leavevmode\unskip\unkern
+ \,\@footnotemarkORI}%
+ \ifFBAutoSpaceFootnotes
+ \let\@footnotemark\@footnotemarkFB
+ \fi}%
+ }
+\newcommand*{\dotFFN}{.}
+\newcommand*{\kernFFN}{\kern .5em}
+\newdimen\parindentFFN
+\parindentFFN=10in
+\def\ftnISsymbol{\@fnsymbol\c@footnote}
+\long\def\@makefntextFB#1{\ifx\thefootnote\ftnISsymbol
+ \@makefntextORI{#1}%
+ \else
+ \parindent=\parindentFFN
+ \rule\z@\footnotesep
+ \setbox\@tempboxa\hbox{\@thefnmark}%
+ \ifdim\wd\@tempboxa>\z@
+ \llap{\@thefnmark}\dotFFN\kernFFN
+ \fi #1
+ \fi}%
+\AtBeginDocument{\@ifpackageloaded{bigfoot}{}%
+ {\ifdim\parindentFFN<10in
+ \else
+ \parindentFFN=\parindent
+ \ifdim\parindentFFN<1.5em\parindentFFN=1.5em\fi
+ \fi
+ \let\@makefntextORI\@makefntext
+ \long\def\@makefntext#1{%
+ \ifFBFrenchFootnotes
+ \@makefntextFB{#1}%
+ \else
+ \@makefntextORI{#1}%
+ \fi}%
+ }%
+ }
+\newcommand*{\AddThinSpaceBeforeFootnotes}{\FBAutoSpaceFootnotestrue}
+\newcommand*{\FrenchFootnotes}{\FBFrenchFootnotestrue}
+\newcommand*{\StandardFootnotes}{\FBFrenchFootnotesfalse}
+\newcommand*{\FrenchLayout}{%
+ \FBGlobalLayoutFrenchtrue
+ \PackageWarning{frenchb.ldf}%
+ {\protect\FrenchLayout\space is obsolete. Please use\MessageBreak
+ \protect\frenchbsetup{GlobalLayoutFrench} instead.}%
+}
+\newcommand*{\StandardLayout}{%
+ \FBReduceListSpacingfalse
+ \FBCompactItemizefalse
+ \FBStandardItemLabelstrue
+ \FBIndentFirstfalse
+ \FBFrenchFootnotesfalse
+ \FBAutoSpaceFootnotesfalse
+ \PackageWarning{frenchb.ldf}%
+ {\protect\StandardLayout\space is obsolete. Please use\MessageBreak
+ \protect\frenchbsetup{StandardLayout} instead.}%
+}
+\@onlypreamble\FrenchLayout
+\@onlypreamble\StandardLayout
+\ifFBunicode
+ \let\FBtextellipsis\textellipsis
+\else
+ \DeclareTextSymbol{\FBtextellipsis}{LY1}{133}
+ \DeclareTextCommandDefault{\FBtextellipsis}{%
+ .\kern\fontdimen3\font.\kern\fontdimen3\font.\xspace}
+\fi
+\newcommand*{\Tdots@ORI}{\@xp\textellipsis}
+\newcommand*{\Tdots@}{\Tdots@ORI}
+\newcommand*{\Mdots@}{\@xp\mdots@}
+\AtBeginDocument{\DeclareRobustCommand*{\dots}{\relax
+ \csname\ifmmode M\else T\fi dots@\endcsname}%
+ \@ifundefined{@xp}{\let\@xp\relax}{}%
+ \@ifundefined{mdots@}{\let\Tdots@ORI\textellipsis
+ \let\Mdots@\mathellipsis
+ \let\mdots@\undefined}{}}
+\def\bbl@frenchdots{\let\Tdots@\FBtextellipsis}
+\def\bbl@nonfrenchdots{\let\Tdots@\Tdots@ORI}
+\addto\extrasfrench{\bbl@frenchdots}
+\addto\noextrasfrench{\bbl@nonfrenchdots}
+\newif\ifFBStandardLayout \FBStandardLayouttrue
+\newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchfalse
+\newif\ifFBReduceListSpacing \FBReduceListSpacingfalse
+\newif\ifFBListOldLayout \FBListOldLayouttrue
+\newif\ifFBCompactItemize \FBCompactItemizefalse
+\newif\ifFBStandardItemizeEnv \FBStandardItemizeEnvtrue
+\newif\ifFBStandardEnumerateEnv \FBStandardEnumerateEnvtrue
+\newif\ifFBStandardItemLabels \FBStandardItemLabelstrue
+\newif\ifFBStandardLists \FBStandardListstrue
+\newif\ifFBIndentFirst \FBIndentFirstfalse
+\newif\ifFBFrenchFootnotes \FBFrenchFootnotesfalse
+\newif\ifFBAutoSpaceFootnotes \FBAutoSpaceFootnotesfalse
+\newif\ifFBOriginalTypewriter \FBOriginalTypewriterfalse
+\newif\ifFBThinColonSpace \FBThinColonSpacefalse
+\newif\ifFBThinSpaceInFrenchNumbers \FBThinSpaceInFrenchNumbersfalse
+\newif\ifFBFrenchSuperscripts \FBFrenchSuperscriptstrue
+\newif\ifFBLowercaseSuperscripts \FBLowercaseSuperscriptstrue
+\newif\ifFBPartNameFull \FBPartNameFulltrue
+\newif\ifFBSuppressWarning \FBSuppressWarningfalse
+\newif\ifFBShowOptions \FBShowOptionsfalse
+\def\FB@french{french}
+\AtEndOfPackage{%
+ \ifx\bbl@main@language\FB@french
+ \FBReduceListSpacingtrue
+ \FBListOldLayoutfalse
+ \FBCompactItemizetrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \FBGlobalLayoutFrenchtrue
+ \fi
+}
+\newcommand*{\frenchbsetup}[1]{%
+ \setkeys{FB}{#1}%
+}%
+\@onlypreamble\frenchbsetup
+\AtEndOfPackage{%
+ \RequirePackage{keyval}%
+ \define@key{FB}{StandardLayout}[true]%
+ {\csname FBStandardLayout#1\endcsname
+ \ifFBStandardLayout
+ \FBReduceListSpacingfalse
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \FBStandardItemLabelstrue
+ \FBIndentFirstfalse
+ \FBFrenchFootnotesfalse
+ \FBAutoSpaceFootnotesfalse
+ \FBGlobalLayoutFrenchfalse
+ \else
+ \FBReduceListSpacingtrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \fi}%
+ \define@key{FB}{GlobalLayoutFrench}[true]%
+ {\csname FBGlobalLayoutFrench#1\endcsname
+ \ifFBGlobalLayoutFrench
+ \ifx\bbl@main@language\FB@french
+ \FBReduceListSpacingtrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \else
+ \PackageWarning{frenchb.ldf}%
+ {Option `GlobalLayoutFrench' skipped:
+ \MessageBreak French is *not*
+ babel's last option.\MessageBreak}%
+ \fi
+ \fi}%
+ \define@key{FB}{ReduceListSpacing}[true]%
+ {\csname FBReduceListSpacing#1\endcsname}%
+ \define@key{FB}{ListOldLayout}[true]%
+ {\csname FBListOldLayout#1\endcsname
+ \ifFBListOldLayout
+ \renewcommand*{\FrenchLabelItem}{\textendash}%
+ \fi}%
+ \define@key{FB}{CompactItemize}[true]%
+ {\csname FBCompactItemize#1\endcsname
+ \ifFBCompactItemize
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \else
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \fi}%
+ \define@key{FB}{StandardItemizeEnv}[true]%
+ {\csname FBStandardItemizeEnv#1\endcsname}%
+ \define@key{FB}{StandardEnumerateEnv}[true]%
+ {\csname FBStandardEnumerateEnv#1\endcsname}%
+ \define@key{FB}{StandardItemLabels}[true]%
+ {\csname FBStandardItemLabels#1\endcsname}%
+ \define@key{FB}{ItemLabels}{%
+ \renewcommand*{\FrenchLabelItem}{#1}}%
+ \define@key{FB}{ItemLabeli}{%
+ \renewcommand*{\Frlabelitemi}{#1}}%
+ \define@key{FB}{ItemLabelii}{%
+ \renewcommand*{\Frlabelitemii}{#1}}%
+ \define@key{FB}{ItemLabeliii}{%
+ \renewcommand*{\Frlabelitemiii}{#1}}%
+ \define@key{FB}{ItemLabeliv}{%
+ \renewcommand*{\Frlabelitemiv}{#1}}%
+ \define@key{FB}{StandardLists}[true]%
+ {\csname FBStandardLists#1\endcsname
+ \ifFBStandardLists
+ \FBReduceListSpacingfalse
+ \FBCompactItemizefalse
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \FBStandardItemLabelstrue
+ \else
+ \FBReduceListSpacingtrue
+ \FBCompactItemizetrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse
+ \fi}%
+ \define@key{FB}{IndentFirst}[true]%
+ {\csname FBIndentFirst#1\endcsname}%
+ \define@key{FB}{FrenchFootnotes}[true]%
+ {\csname FBFrenchFootnotes#1\endcsname}%
+ \define@key{FB}{AutoSpaceFootnotes}[true]%
+ {\csname FBAutoSpaceFootnotes#1\endcsname}%
+ \define@key{FB}{AutoSpacePunctuation}[true]%
+ {\csname FBAutoSpacePunctuation#1\endcsname}%
+ \define@key{FB}{OriginalTypewriter}[true]%
+ {\csname FBOriginalTypewriter#1\endcsname}%
+ \define@key{FB}{ThinColonSpace}[true]%
+ {\csname FBThinColonSpace#1\endcsname}%
+ \define@key{FB}{ThinSpaceInFrenchNumbers}[true]%
+ {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
+ \define@key{FB}{FrenchSuperscripts}[true]%
+ {\csname FBFrenchSuperscripts#1\endcsname}
+ \define@key{FB}{LowercaseSuperscripts}[true]%
+ {\csname FBLowercaseSuperscripts#1\endcsname}
+ \define@key{FB}{PartNameFull}[true]%
+ {\csname FBPartNameFull#1\endcsname}%
+ \define@key{FB}{SuppressWarning}[true]%
+ {\csname FBSuppressWarning#1\endcsname
+ \ifFBSuppressWarning
+ \renewcommand{\FBWarning}[2]{\relax}%
+ \else
+ \renewcommand{\FBWarning}[2]{%
+ \PackageWarning{##1}{##2}}%
+ \fi}
+ \define@key{FB}{ShowOptions}[true]%
+ {\csname FBShowOptions#1\endcsname}%
+ \define@key{FB}{og}{%
+ \newcommand*{\FB@@og}{%
+ \iflanguage{french}%
+ {\ifFBAutoSpaceGuill\FB@og\ignorespaces
+ \else\guillemotleft
+ \fi}%
+ {\guillemotleft}}%
+ \ifFBunicode
+ \ifFB@xetex@punct
+ \XeTeXcharclass"00AB = \FB@punctguilo
+ \FBguillo@addspacetrue \FBog@addspacefalse
+ \else
+ \catcode`#1=\active
+ \bgroup
+ \uccode`\~`#1%
+ \uppercase{%
+ \egroup
+ \def~%
+ }{\FB@@og}%
+ \fi
+ \else
+ \AtBeginDocument
+ {\@ifundefined{DeclareInputText}%
+ {\PackageWarning{frenchb.ldf}%
+ {Option `og' requires package inputenc.\MessageBreak}%
+ \let\DeclareInputText\undefined
+ }%
+ {\@ifundefined{uc@dclc}%
+ {\@ifundefined{DeclareUnicodeCharacter}%
+ {\@tempcnta`#1\relax
+ \@ifundefined{mule@def}%
+ {\DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \let\mule@def\undefined}%
+ {\mule@def{11}{{\FB@@og}}}%
+ \let\DeclareUnicodeCharacter\undefined
+ }%
+ {\DeclareUnicodeCharacter{00AB}{\FB@@og}}%
+ \let\uc@dclc\undefined
+ }%
+ {\uc@dclc{171}{default}{\FB@@og}}%
+ }%
+ }%
+ \fi
+ }%
+ \define@key{FB}{fg}{%
+ \newcommand*{\FB@@fg}{%
+ \iflanguage{french}%
+ {\ifFBAutoSpaceGuill\FB@fg
+ \else\guillemotright
+ \fi}%
+ {\guillemotright}}%
+ \ifFBunicode
+ \ifFB@xetex@punct
+ \XeTeXcharclass"00BB = \FB@punctguilf
+ \FBguillf@addspacetrue \FBfg@addspacefalse
+ \else
+ \catcode`#1=\active
+ \bgroup
+ \uccode`\~`#1%
+ \uppercase{%
+ \egroup
+ \def~%
+ }{{\FB@@fg}}%
+ \fi
+ \else
+ \AtBeginDocument
+ {\@ifundefined{DeclareInputText}%
+ {\PackageWarning{frenchb.ldf}%
+ {Option `fg' requires package inputenc.\MessageBreak}%
+ \let\DeclareInputText\undefined
+ }%
+ {\@ifundefined{uc@dclc}%
+ {\@ifundefined{DeclareUnicodeCharacter}%
+ {\@tempcnta`#1\relax
+ \@ifundefined{mule@def}%
+ {\DeclareInputText{\the\@tempcnta}{{\FB@@fg}}%
+ \let\mule@def\undefined
+ }%
+ {\mule@def{27}{{\FB@@fg}}}%
+ \let\DeclareUnicodeCharacter\undefined
+ }%
+ {\DeclareUnicodeCharacter{00BB}{{\FB@@fg}}%
+ }%
+ \let\uc@dclc\undefined
+ }%
+ {\uc@dclc{187}{default}{{\FB@@fg}}}%
+ }%
+ }%
+ \fi
+ }%
+}
+\newcommand*{\FBprocess@options}{%
+ \ifFBReduceListSpacing
+ \addto\extrasfrench{\let\list\listFB
+ \let\endlist\endlistFB}%
+ \addto\noextrasfrench{\ifFBGlobalLayoutFrench
+ \let\list\listFB
+ \let\endlist\endlistFB
+ \else
+ \let\list\listORI
+ \let\endlist\endlistORI
+ \fi}%
+ \else
+ \addto\extrasfrench{\let\list\listORI
+ \let\endlist\endlistORI
+ }%
+ \addto\noextrasfrench{\let\list\listORI
+ \let\endlist\endlistORI
+ }%
+ \fi
+ \ifFBListOldLayout
+ \FBStandardEnumerateEnvtrue
+ \fi
+ \@ifpackageloaded{enumitem}{%
+ \ifFBStandardItemizeEnv
+ \else
+ \FBWarning{frenchb.ldf}%
+ {Setting StandardItemizeEnv=true for\MessageBreak
+ compatibility with enumitem package,\MessageBreak}%
+ \FBStandardItemizeEnvtrue
+ \fi
+ \ifFBStandardEnumerateEnv
+ \else
+ \FBWarning{frenchb.ldf}%
+ {Setting StandardEnumerateEnv=true for\MessageBreak
+ compatibility with enumitem package,\MessageBreak}%
+ \FBStandardEnumerateEnvtrue
+ \fi}%
+ {}%
+ \@ifpackageloaded{paralist}{%
+ \ifFBStandardItemizeEnv
+ \else
+ \FBWarning{frenchb.ldf}%
+ {Setting StandardItemizeEnv=true for\MessageBreak
+ compatibility with paralist package,\MessageBreak}%
+ \FBStandardItemizeEnvtrue
+ \fi
+ \ifFBStandardEnumerateEnv
+ \else
+ \FBWarning{frenchb.ldf}%
+ {Setting StandardEnumerateEnv=true for\MessageBreak
+ compatibility with paralist package,\MessageBreak}%
+ \FBStandardEnumerateEnvtrue
+ \fi}%
+ {}%
+ \@ifpackageloaded{enumerate}{%
+ \ifFBStandardEnumerateEnv
+ \else
+ \FBWarning{frenchb.ldf}%
+ {Setting StandardEnumerateEnv=true for\MessageBreak
+ compatibility with enumerate package,\MessageBreak}%
+ \FBStandardEnumerateEnvtrue
+ \fi}%
+ {}%
+ \ifFBStandardItemizeEnv
+ \addto\extrasfrench{\let\itemize\itemizeORI}%
+ \addto\noextrasfrench{\let\itemize\itemizeORI}%
+ \else
+ \addto\extrasfrench{\let\itemize\itemizeFB}%
+ \addto\noextrasfrench{\ifFBGlobalLayoutFrench
+ \let\itemize\itemizeFB
+ \else
+ \let\itemize\itemizeORI
+ \fi}%
+ \fi
+ \ifFBStandardEnumerateEnv
+ \addto\extrasfrench{\let\enumerate\enumerateORI
+ \let\description\descriptionORI}%
+ \addto\noextrasfrench{\let\enumerate\enumerateORI
+ \let\description\descriptionORI}%
+ \else
+ \addto\extrasfrench{\let\enumerate\enumerateFB
+ \let\description\descriptionFB}%
+ \addto\noextrasfrench{\ifFBGlobalLayoutFrench
+ \let\enumerate\enumerateFB
+ \let\description\descriptionFB
+ \else
+ \let\enumerate\enumerateORI
+ \let\description\descriptionORI
+ \fi}%
+ \fi
+ \ifFBStandardItemLabels
+ \addto\extrasfrench{\bbl@nonfrenchlabelitems}%
+ \addto\noextrasfrench{\bbl@nonfrenchlabelitems}%
+ \else
+ \addto\extrasfrench{\bbl@frenchlabelitems}%
+ \addto\noextrasfrench{\ifFBGlobalLayoutFrench
+ \bbl@frenchlabelitems
+ \else
+ \bbl@nonfrenchlabelitems
+ \fi}%
+ \fi
+ \ifFBIndentFirst
+ \addto\extrasfrench{\bbl@frenchindent}%
+ \addto\noextrasfrench{\ifFBGlobalLayoutFrench
+ \bbl@frenchindent
+ \else
+ \bbl@nonfrenchindent
+ \fi}%
+ \else
+ \addto\extrasfrench{\bbl@nonfrenchindent}%
+ \addto\noextrasfrench{\bbl@nonfrenchindent}%
+ \fi
+ \ifFBAutoSpacePunctuation
+ \autospace@beforeFDP
+ \else
+ \noautospace@beforeFDP
+ \fi
+ \ifFBOriginalTypewriter
+ \else
+ \let\ttfamily\ttfamilyFB
+ \let\rmfamily\rmfamilyFB
+ \let\sffamily\sffamilyFB
+ \fi
+ \ifFBThinColonSpace\renewcommand*{\Fcolonspace}{\Fthinspace}\fi
+ \@ifpackageloaded{numprint}%
+ {\ifnprt@autolanguage
+ \providecommand*{\npstylefrench}{}%
+ \ifFBThinSpaceInFrenchNumbers
+ \renewcommand*\npstylefrench{%
+ \npthousandsep{\,}%
+ \npdecimalsign{,}%
+ \npproductsign{\cdot}%
+ \npunitseparator{\,}%
+ \npdegreeseparator{}%
+ \nppercentseparator{\nprt@unitsep}%
+ }%
+ \else
+ \renewcommand*\npstylefrench{%
+ \npthousandsep{~}%
+ \npdecimalsign{,}%
+ \npproductsign{\cdot}%
+ \npunitseparator{\,}%
+ \npdegreeseparator{}%
+ \nppercentseparator{\nprt@unitsep}%
+ }%
+ \fi
+ \npaddtolanguage{french}{french}%
+ \fi}{}%
+ \ifFBFrenchSuperscripts
+ \DeclareRobustCommand*{\up}{\@ifstar{\FB@up@fake}{\fup}}%
+ \else
+ \DeclareRobustCommand*{\up}{\@ifstar{\FB@up@fake}%
+ {\textsuperscript}}%
+ \fi
+ \ifFBLowercaseSuperscripts
+ \else
+ \renewcommand*{\FB@lc}[1]{##1}%
+ \fi
+ \ifFBPartNameFull
+ \else\addto\captionsfrench{\def\partname{Partie}}\fi
+ \ifFBShowOptions
+ \GenericWarning{* }{%
+ * **** List of possible options for frenchb ****\MessageBreak
+ [Default values between brackets when frenchb is loaded *LAST*]%
+ \MessageBreak
+ ShowOptions=true [false]\MessageBreak
+ StandardLayout=true [false]\MessageBreak
+ GlobalLayoutFrench=false [true]\MessageBreak
+ StandardLists=true [false]\MessageBreak
+ IndentFirst=false [true]\MessageBreak
+ ReduceListSpacing=false [true]\MessageBreak
+ ListOldLayout=true [false]\MessageBreak
+ StandardItemizeEnv=true [false]\MessageBreak
+ StandardEnumerateEnv=true [false]\MessageBreak
+ StandardItemLabels=true [false]\MessageBreak
+ ItemLabels=\textemdash, \textbullet,
+ \protect\ding{43},... [\textendash]\MessageBreak
+ ItemLabeli=\textemdash, \textbullet,
+ \protect\ding{43},... [\textendash]\MessageBreak
+ ItemLabelii=\textemdash, \textbullet,
+ \protect\ding{43},... [\textendash]\MessageBreak
+ ItemLabeliii=\textemdash, \textbullet,
+ \protect\ding{43},... [\textendash]\MessageBreak
+ ItemLabeliv=\textemdash, \textbullet,
+ \protect\ding{43},... [\textendash]\MessageBreak
+ FrenchFootnotes=false [true]\MessageBreak
+ AutoSpaceFootnotes=false [true]\MessageBreak
+ AutoSpacePunctuation=false [true]\MessageBreak
+ OriginalTypewriter=true [false]\MessageBreak
+ ThinColonSpace=true [false]\MessageBreak
+ ThinSpaceInFrenchNumbers=true [false]\MessageBreak
+ FrenchSuperscripts=false [true]\MessageBreak
+ LowercaseSuperscripts=false [true]\MessageBreak
+ PartNameFull=false [true]\MessageBreak
+ SuppressWarning=true [false]\MessageBreak
+ og= <left quote character>, fg= <right quote character>
+ \MessageBreak
+ *********************************************
+ \MessageBreak\protect\frenchbsetup{ShowOptions}}
+ \fi
+}
+\AtBeginDocument{%
+ \ifx\@afterindentfalse\@afterindenttrue
+ \let\@aifORI\@afterindenttrue
+ \else \let\@aifORI\@afterindentfalse
+ \fi
+ \let\listORI\list
+ \let\endlistORI\endlist
+ \let\endlistFB\endlist
+ \let\itemizeORI\itemize
+ \let\enditemizeORI\endlist
+ \let\enditemizeFB\endlist
+ \let\enumerateORI\enumerate
+ \let\endenumerateORI\endlist
+ \let\endenumerateFB\endlist
+ \let\descriptionORI\description
+ \let\enddescriptionORI\endlist
+ \let\enddescriptionFB\endlist
+ \let\@ltiORI\labelitemi
+ \let\@ltiiORI\labelitemii
+ \let\@ltiiiORI\labelitemiii
+ \let\@ltivORI\labelitemiv
+ \providecommand*{\xspace}{\relax}%
+ \@ifundefined{pdfstringdefDisableCommands}%
+ {\let\pdfstringdefDisableCommands\undefined}%
+ {\pdfstringdefDisableCommands{%
+ \let\up\relax
+ \let\fup\relax
+ \let\degre\textdegree
+ \let\degres\textdegree
+ \def\ieme{e\xspace}%
+ \def\iemes{es\xspace}%
+ \def\ier{er\xspace}%
+ \def\iers{ers\xspace}%
+ \def\iere{re\xspace}%
+ \def\ieres{res\xspace}%
+ \def\FrenchEnumerate#1{#1\degre\space}%
+ \def\FrenchPopularEnumerate#1{#1\degre)\space}%
+ \def\No{N\degre\space}%
+ \def\no{n\degre\space}%
+ \def\Nos{N\degre\space}%
+ \def\nos{n\degre\space}%
+ \def\FB@og{\guillemotleft\space}%
+ \def\FB@fg{\space\guillemotright}%
+ \def\at{@}%
+ \def\circonflexe{\string^}%
+ \def\tild{\string~}%
+ \let\bsc\textsc
+ }%
+ }%
+ \FBprocess@options
+ \let\bbl@nonfrenchspacingORI\bbl@nonfrenchspacing
+ \let\bbl@nonfrenchspacing\relax
+ \ifx\bbl@main@language\FB@french
+ \extrasfrench\captionsfrench
+ \else
+ \noextrasfrench
+ \fi
+ \let\bbl@nonfrenchspacing\bbl@nonfrenchspacingORI
+ \ifFBXeTeX
+ \@ifundefined{DeclareUTFcharacter}%
+ {\PackageWarning{frenchb.ldf}%
+ {Add \protect\usepackage{xltxtra} to the\MessageBreak
+ preamble of your document,}%
+ \let\DeclareUTFcharacter\undefined}%
+ {}%
+ \else
+ \begingroup \newcommand{\FBOTone}{OT1}%
+ \ifx\encodingdefault\FBOTone
+ \PackageWarning{frenchb.ldf}%
+ {OT1 encoding should not be used for French.
+ \MessageBreak
+ Add \protect\usepackage[T1]{fontenc} to the
+ preamble\MessageBreak of your document,}%
+ \fi
+ \endgroup
+ \fi
+}
+\loadlocalcfg{frenchb}
+\FBclean@on@exit
+\ldf@quit\CurrentOption
+\endinput
+%%
+%% End of file `frenchb.ldf'.