%% %% This is file `frenchb.ldf', %% generated with the docstrip utility. %% %% The original source files were: %% %% frenchb.dtx (with options: `ldf') %% 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} [2014/06/21 v3.1a French support from the babel system] %% %% File `frenchb.ldf' %% Babel package for LaTeX version 2e %% Copyright (C) 1996 - 2014 %% by Daniel Flipo %% \chardef\atcatcode=\catcode`\@ \catcode`\@=11\relax \def\bbl@tempa{francais} \ifx\CurrentOption\bbl@tempa \let\l@francais\l@french \def\captionsfrancais{\captionsfrench} \def\datefrancais{\datefrench} \def\extrasfrancais{\extrasfrench} \def\noextrasfrancais{\extrasfrench} \def\CurrentOption{french} \fi \def\bbl@tempa{frenchb} \ifx\CurrentOption\bbl@tempa \let\l@frenchb\l@french \def\captionsfrenchb{\captionsfrench} \def\datefrenchb{\datefrench} \def\extrasfrenchb{\extrasfrench} \def\noextrasfrenchb{\extrasfrench} \def\CurrentOption{french} \fi \catcode`\@=\atcatcode \let\atcatcode\relax \LdfInit\CurrentOption\captionsfrench \def\FB@nopatterns{% \ifx\l@nohyphenation\@undefined \edef\bbl@nulllanguage{\string\language=0}% \adddialect\l@french0 \else \adddialect\l@french\l@nohyphenation \edef\bbl@nulllanguage{\string\language=nohyphenation}% \fi \@nopatterns{French}} \ifx\l@french\@undefined \FB@nopatterns \fi \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 \def\fb@error#1#2{% \begingroup \newlinechar=`\^^J \def\\{^^J(frenchb.ldf) }% \errhelp{#2}\errmessage{\\#1}% \endgroup} \def\fb@warning#1{% \begingroup \newlinechar=`\^^J \def\\{^^J(frenchb.ldf) }% \message{\\#1}% \endgroup} \def\fb@info#1{% \begingroup \newlinechar=`\^^J \def\\{^^J}% \wlog{#1}% \endgroup} \let\bbl@tempa\relax \ifx\babeltags\@undefined \let\bbl@tempa\endinput \ifLaTeXe \PackageError{frenchb.ldf} {frenchb requires babel v.3.9i.\MessageBreak Aborting here} {Please upgrade Babel!} \else \fb@error{frenchb requires babel v.3.9i.\\ Aborting here} {Please upgrade Babel!} \fi \fi \bbl@tempa \ifx\l@acadian\@undefined \ifx\l@canadien\@undefined \adddialect\l@acadian\l@french \adddialect\l@canadien\l@french \else \adddialect\l@acadian\l@canadien \fi \else \adddialect\l@canadien\l@acadian \fi \def\bbl@tempa{canadien} \ifx\CurrentOption\bbl@tempa \def\captionscanadien{\captionsacadian} \def\datecanadien{\dateacadian} \def\extrascanadien{\extrasacadian} \def\noextrascanadien{\extrasacadian} \def\CurrentOption{acadian} \fi \expandafter\providehyphenmins\expandafter{\CurrentOption}{\tw@\thr@@} \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}{% \babel@savevariable{\lccode`\'}% \ifFBunicode \babel@savevariable{\lccode"2019}% \lccode`\'="2019\lccode"2019="2019 \else \lccode`\'=`\' \fi } \@namedef{noextras\CurrentOption}{} \let\FB@CurOpt\CurrentOption \newcommand*{\FB@addto}[2]{% \expandafter\addto\csname #1\FB@CurOpt\endcsname{#2}} \FB@addto{extras}{\bbl@frenchspacing} \FB@addto{noextras}{\bbl@nonfrenchspacing} \newif\ifFBAutoSpaceGuill \FBAutoSpaceGuilltrue \newif\ifFB@active@punct \FB@active@puncttrue \newif\ifFB@luatex@punct \ifFBLuaTeX \ifnum\luatexversion>75 \FB@luatex@puncttrue\FB@active@punctfalse \fi \fi \newif\ifFB@xetex@punct \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname XeTeXinterchartokenstate\endcsname\relax \else \FB@xetex@puncttrue\FB@active@punctfalse \fi \newcommand*{\FBcolonspace}{\space} \newcommand*{\FBthinspace}{\thinspace} \newskip\FBcolonskip \FBcolonskip=3.33pt plus 1.665pt minus 1.11pt \relax \newskip\FBthinskip \FBthinskip=1.66672pt \relax \ifFB@luatex@punct \ifLaTeXe \AtEndOfPackage{% \RequirePackage{luatexbase}% \newluatexattribute\FB@addDPspace \FB@addDPspace=1 \relax \newluatexattribute\FB@addGUILspace \FB@addGUILspace=0 \relax } \PackageInfo{frenchb.ldf}{No need for active punctuation characters% \MessageBreak with this version of LuaTeX!% \MessageBreak reported} \else \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname newluatexattribute\endcsname\relax \input luatexbase.sty \fi \newluatexattribute\FB@addDPspace \FB@addDPspace=1 \relax \newluatexattribute\FB@addGUILspace \FB@addGUILspace=0 \relax \fb@info{No need for active punctuation characters\\ with this version of LuaTeX!} \fi \fi \ifFB@luatex@punct \newcommand*{\FB@luatex@punct@french}{% \ifx\shorthandoffORI\@undefined \let\shorthandonORI\shorthandon \let\shorthandoffORI\shorthandoff \fi \def\shorthandoff##1{% \ifx\PackageWarning\@undefined \fb@warning{\noexpand\shorthandoff{;:!?} is helpless with LuaTeX,\\ use \noexpand\NoAutoSpacing *inside a group* instead.}% \else \PackageWarning{frenchb.ldf}{\protect\shorthandoff{;:!?} is helpless with LuaTeX,\MessageBreak use \protect\NoAutoSpacing \space *inside a group* instead;\MessageBreak reported}% \fi}% \def\shorthandon##1{}% } \newcommand*{\FB@luatex@punct@nonfrench}{% \ifx\shorthandoffORI\@undefined \else \let\shorthandon\shorthandonORI \let\shorthandoff\shorthandoffORI \fi } \FB@addto{extras}{\FB@luatex@punct@french} \FB@addto{noextras}{\FB@luatex@punct@nonfrench} \def\activate@luatexpunct{% \directlua{% FR = \the\l@french local path = kpse.find_file("frenchb.lua", "lua") if path then local f = dofile(path) luatexbase.add_to_callback("pre_linebreak_filter", f, "frenchb.french_punctuation",1) luatexbase.add_to_callback("hpack_filter", f, "frenchb.french_punctuation",1) else texio.write_nl('') texio.write_nl('*****************************') texio.write_nl('Error: frenchb.lua not found.') texio.write_nl('*****************************') texio.write_nl('') end }% } \fi \newcount\FB@interchartokenstateORI \ifFB@xetex@punct \ifLaTeXe \PackageInfo{frenchb.ldf}{No need for active punctuation characters% \MessageBreak with this version of XeTeX!% \MessageBreak reported} \else \fb@info{No need for active punctuation characters\\ with this version of XeTeX!} \fi \ifx\@for\@undefined \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}}% \fi \newXeTeXintercharclass\FB@punctthick \newXeTeXintercharclass\FB@punctthin \newXeTeXintercharclass\FB@punctnul \newXeTeXintercharclass\FB@guilo \newXeTeXintercharclass\FB@guilf \newXeTeXintercharclass\FB@guilnul \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,"A0,"202F}\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@guilf \FB@punctthick = {% \FDP@colonspace}% \XeTeXinterchartoks 255 \FB@punctthick = {% \ifhmode\unskip\penalty\@M\FBcolonspace\fi}% \@for\FB@char:={`\;,`\!,`\?}\do {\XeTeXcharclass\FB@char=\FB@punctthin}% \XeTeXinterchartoks \z@ \FB@punctthin = {% \ifhmode\FDP@thinspace\fi}% \XeTeXinterchartoks \FB@guilf \FB@punctthin = {% \FDP@thinspace}% \XeTeXinterchartoks 255 \FB@punctthin = {% \ifhmode\unskip\penalty\@M\FBthinspace\fi}% \XeTeXinterchartoks \FB@guilo \z@ = {% \ifFBAutoSpaceGuill\FBguillspace\fi}% \XeTeXinterchartoks \FB@guilo 255 = {% \ifFBAutoSpaceGuill\FBguillspace\ignorespaces\fi}% \XeTeXinterchartoks \z@ \FB@guilf = {% \ifFBAutoSpaceGuill\FBguillspace\fi}% \XeTeXinterchartoks \FB@punctthin \FB@guilf = {% \ifFBAutoSpaceGuill\FBguillspace\fi}% \XeTeXinterchartoks 255 \FB@guilf = {% \ifFBAutoSpaceGuill\unskip\FBguillspace\fi}% \@for\FB@char:={`\[,`\(,"A0,"202F}\do {\XeTeXcharclass\FB@char=\FB@punctnul}% \@for\FB@char:={`\{,`\,,`\.,`\-,`\),`\],`\},`\%,% "22,"27,"60,"2019}\do {\XeTeXcharclass\FB@char=\z@}% \def\shorthandoff##1{% \ifx\PackageWarning\@undefined \fb@warning{\noexpand\shorthandoff{;:!?} is helpless with XeTeX,\\ use \noexpand\NoAutoSpacing *inside a group* instead.}% \else \PackageWarning{frenchb.ldf}{\protect\shorthandoff{;:!?} is helpless with XeTeX,\MessageBreak use \protect\NoAutoSpacing \space *inside a group* instead;\MessageBreak reported}% \fi}% \def\shorthandon##1{}% } \newcommand*{\FB@xetex@punct@nonfrench}{% \ifx\FB@charclassesORI\empty \else \@for\FB@char:={`\:,`\;,`\!,`\?,"AB,"BB,% `\(,`\[,`\{,`\,,`\.,`\-,`\),`\],`\},% `\%,"22,"27,"60,"2019,"A0,"202F}\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 } \FB@addto{extras}{\FB@xetex@punct@french} \FB@addto{noextras}{\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\FBthinspace \else \FDP@thinspace \fi \fi \string;} \declare@shorthand{french}{!}{% \ifhmode \ifdim\lastskip>\z@ \unskip\penalty\@M\FBthinspace \else \FDP@thinspace \fi \fi \string!} \declare@shorthand{french}{?}{% \ifhmode \ifdim\lastskip>\z@ \unskip\penalty\@M\FBthinspace \else \FDP@thinspace \fi \fi \string?} \declare@shorthand{french}{:}{% \ifhmode \ifdim\lastskip>\z@ \unskip\penalty\@M\FBcolonspace \else \FDP@colonspace \fi \fi \string:} \declare@shorthand{system}{:}{\string:} \declare@shorthand{system}{!}{\string!} \declare@shorthand{system}{?}{\string?} \declare@shorthand{system}{;}{\string;} \FB@addto{extras}{\languageshorthands{french}% \bbl@activate{:}\bbl@activate{;}% \bbl@activate{!}\bbl@activate{?}% } \FB@addto{noextras}{% \bbl@deactivate{:}\bbl@deactivate{;}% \bbl@deactivate{!}\bbl@deactivate{?}% } \fi \newif\ifFBAutoSpacePunctuation \FBAutoSpacePunctuationtrue \def\autospace@beforeFDP{% \ifFB@luatex@punct\FB@addDPspace=1 \fi \def\FDP@thinspace{\penalty\@M\FBthinspace}% \def\FDP@colonspace{\penalty\@M\FBcolonspace}} \def\noautospace@beforeFDP{% \ifFB@luatex@punct\FB@addDPspace=0 \fi \let\FDP@thinspace\@empty \let\FDP@colonspace\@empty} \ifLaTeXe \def\AutoSpaceBeforeFDP{\autospace@beforeFDP \FBAutoSpacePunctuationtrue} \def\NoAutoSpaceBeforeFDP{\noautospace@beforeFDP \FBAutoSpacePunctuationfalse} \AtEndOfPackage{\AutoSpaceBeforeFDP} \else \let\AutoSpaceBeforeFDP\autospace@beforeFDP \let\NoAutoSpaceBeforeFDP\noautospace@beforeFDP \AutoSpaceBeforeFDP \fi \ifLaTeXe \DeclareRobustCommand\ttfamilyFB{% \FBAutoSpaceGuillfalse \ifFB@luatex@punct\FB@addGUILspace=0 \fi \noautospace@beforeFDP\ttfamilyORI}% \DeclareRobustCommand\rmfamilyFB{% \FBAutoSpaceGuilltrue \ifFB@luatex@punct\FB@addGUILspace=1 \fi \ifFBAutoSpacePunctuation \autospace@beforeFDP \else \noautospace@beforeFDP \fi \rmfamilyORI}% \DeclareRobustCommand\sffamilyFB{% \FBAutoSpaceGuilltrue \ifFB@luatex@punct\FB@addGUILspace=1 \fi \ifFBAutoSpacePunctuation \autospace@beforeFDP \else \noautospace@beforeFDP \fi \sffamilyORI}% \fi \newcommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse \ifFB@active@punct\shorthandoff{;:!?}\fi \ifFB@xetex@punct\XeTeXinterchartokenstate=0 \fi \ifFB@luatex@punct\FB@addDPspace=0 \FB@addGUILspace=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 \newskip\FBguillskip \FBguillskip=2.664pt plus 0.500pt minus 0.888pt \relax \newcommand*{\FBguillspace}{\penalty\@M\hskip.8\fontdimen2\font plus.3\fontdimen3\font minus.8\fontdimen4\font} \ifFB@luatex@punct \DeclareRobustCommand*{\FB@og}{\leavevmode \bgroup\FB@addGUILspace=1 \guillemotleft\egroup} \DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi \bgroup\FB@addGUILspace=1 \guillemotright\egroup\xspace} \fi \ifFB@xetex@punct \DeclareRobustCommand*{\FB@og}{\leavevmode \bgroup\FBAutoSpaceGuillfalse\guillemotleft\egroup \FBguillspace} \DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi \FBguillspace \bgroup\FBAutoSpaceGuillfalse\guillemotright\egroup\xspace} \fi \ifFB@active@punct \DeclareRobustCommand*{\FB@og}{\leavevmode \guillemotleft \FBguillspace} \DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi \FBguillspace \guillemotright\xspace} \fi \ifLaTeXe \def\bbl@frenchguillemets{\renewcommand*{\og}{\FB@og}% \renewcommand*{\fg}{\FB@fg}} \renewcommand*{\og}{\textquotedblleft} \renewcommand*{\fg}{\ifdim\lastskip>\z@\unskip\fi \textquotedblright} \else \def\bbl@frenchguillemets{\let\og\FB@og \let\fg\FB@fg} \def\og{\textquotedblleft} \def\fg{\ifdim\lastskip>\z@\unskip\fi\textquotedblright} \fi \FB@addto{extras}{\babel@save\og \babel@save\fg \bbl@frenchguillemets} \newcommand*{\ogi}{\FB@og} \newcommand*{\fgi}{\FB@fg} \newcommand*{\ogii}{\textquotedblleft} \newcommand*{\fgii}{\textquotedblright} \newcount\FBguill@level \newif\ifFBcloseguill \FBcloseguilltrue \newif\ifFBInnerGuillSingle \def\FBguillopen{\bgroup\NoAutoSpacing\guillemotleft\egroup} \def\FBguillclose{\bgroup\NoAutoSpacing\guillemotright\egroup} \let\FBguillnone\relax \let\FBeveryparguill\FBguillopen \ifFB@luatex@punct \let\FBeverylineguill\FBguillopen \ifLaTeXe \let\local@leftbox\luatexlocalleftbox \else \let\local@leftbox\localleftbox \fi \else \let\FBeverylineguill\FBguillnone \fi \ifLaTeXe \DeclareRobustCommand\frquote{% \@ifstar{\FBcloseguillfalse\fr@quote}% {\FBcloseguilltrue\fr@quote}} \else \newcommand\frquote[1]{\fr@quote{#1}} \fi \newcommand{\fr@quote}[1]{% \bgroup \ifnum\FBguill@level=2 \PackageWarning{frenchb.ldf}{% \protect\frquote\space accepts no more than two levels \MessageBreak of quotations. Reported} \else \advance\FBguill@level by \@ne \fi \ifnum\FBguill@level=1 \ifx\FBeveryparguill\relax \let\FBeverypar@quote\relax \else \def\FBeverypar@quote{\FBeveryparguill \kern.8\fontdimen2\font}% \fi \expandafter\csname og\romannumeral\FBguill@level\endcsname \everypar \expandafter{\the\everypar \FBeverypar@quote}% #1% \expandafter\csname fg\romannumeral\FBguill@level\endcsname \else \ifx\FBeverylineguill\FBguillopen \local@leftbox{\guillemotleft\kern.8\fontdimen2\font}% \let\FBeverypar@quote\relax \FB@og #1\ifFBcloseguill\FB@fg\fi \else \ifx\FBeverylineguill\FBguillclose \local@leftbox{\guillemotright\kern.8\fontdimen2\font}% \let\FBeverypar@quote\relax \FB@og #1\ifFBcloseguill\FB@fg\fi \else \let\FBeverypar@quote\relax \ifFBInnerGuillSingle \def\ogii{\leavevmode \guilsinglleft\FBguillspace}% \def\fgii{\ifdim\lastskip>\z@\unskip\fi \FBguillspace\guilsinglright}% \ifx\FBeveryparguill\FBguillopen \def\FBeverypar@quote{\guilsinglleft \kern.8\fontdimen2\font}% \fi \ifx\FBeveryparguill\FBguillclose \def\FBeverypar@quote{\guilsinglright \kern.8\fontdimen2\font}% \fi \fi \expandafter\csname og\romannumeral\FBguill@level\endcsname #1% \ifFBcloseguill\expandafter \csname fg\romannumeral\FBguill@level\endcsname \fi \fi \fi \fi \egroup } \ifLaTeXe \def\BabelLanguages{french,acadian} \StartBabelCommands*{\BabelLanguages}{date} [unicode, fontenc=EU1 EU2, charset=utf8] \SetString\monthiiname{février} \SetString\monthviiiname{août} \SetString\monthxiiname{décembre} \StartBabelCommands*{\BabelLanguages}{date} \SetStringLoop{month#1name}{% janvier,f\'evrier,mars,avril,mai,juin,juillet,% ao\^ut,septembre,octobre,novembre,d\'ecembre} \SetString\today{{\number\day}\ifnum1=\day {\ier}\fi\space \csname month\romannumeral\month name\endcsname \space \number\year } \EndBabelCommands \else \ifFBunicode \@namedef{date\CurrentOption}{% \def\today{{\number\day}\ifnum1=\day {\ier}\fi \space \ifcase\month \or janvier\or février\or mars\or avril\or mai\or juin\or juillet\or août\or septembre\or octobre\or novembre\or décembre\fi \space \number\year}} \else \@namedef{date\CurrentOption}{% \def\today{{\number\day}\ifnum1=\day {\ier}\fi \space \ifcase\month \or janvier\or f\'evrier\or mars\or avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi \space \number\year}} \fi \fi \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]{% \ifx\realsuperscript\@undefined \FB@up{#1}% \else \bgroup\let\fakesuperscript\FB@up@fake \realsuperscript{\FB@lc{#1}}\egroup \fi} \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 \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{\ifx\DeclareEncodingSubset\@undefined \DeclareRobustCommand*{\degres}{% \leavevmode\hbox to 0.3em{\hss\degre\hss}% \Warning@degree@TSone \global\let\Warning@degree@TSone\relax}% \else \DeclareRobustCommand*{\degres}{% \hbox{\UseTextSymbol{TS1}{\textdegree}}}% \fi } \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}{}% \FB@addto{extras}{\mathcode`\,=\dec@mcc}% } \newcommand*{\StandardMathComma}{\mathcode`\,=\std@mcc \FB@addto{extras}{\mathcode`\,=\std@mcc}% } \FB@addto{noextras}{\mathcode`\,=\std@mcc} \newcommand*{\nombre}[1]{{#1}\fb@warning{*** \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{\ifFB@luatex@punct \activate@luatexpunct \fi \FBclean@on@exit \ldf@quit\CurrentOption\endinput} \fi \FBstop@here \renewcommand*{\nombre}[1]{\Warning@nombre\numprint{#1}} \newcommand*{\Warning@nombre}{% \ifdefined\numprint \else \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 \fi } \StartBabelCommands*{\BabelLanguages}{captions} [unicode, fontenc=EU1 EU2, charset=utf8] \SetString{\refname}{Références} \SetString{\abstractname}{Résumé} \SetString{\prefacename}{Préface} \SetString{\contentsname}{Table des matières} \SetString{\ccname}{Copie à } \SetString{\proofname}{Démonstration} \SetStringLoop{ordinal#1}{% Première,Deuxième,Troisième,Quatrième,Cinquième,% Sixième,Septième,Huitième,Neuvième,Dixième,Onzième,% Douzième,Treizième,Quatorzième,Quinzième,Seizième,% Dix-septième,Dix-huitième,Dix-neuvième,Vingtième} \StartBabelCommands*{\BabelLanguages}{captions} \SetString{\refname}{R\'ef\'erences} \SetString{\abstractname}{R\'esum\'e} \SetString{\bibname}{Bibliographie} \SetString{\prefacename}{Pr\'eface} \SetString{\chaptername}{Chapitre} \SetString{\appendixname}{Annexe} \SetString{\contentsname}{Table des mati\`eres} \SetString{\listfigurename}{Table des figures} \SetString{\listtablename}{Liste des tableaux} \SetString{\indexname}{Index} \SetString{\figurename}{{\scshape Figure}} \SetString{\tablename}{{\scshape Table}} \SetString{\pagename}{page} \SetString{\seename}{voir} \SetString{\alsoname}{voir aussi} \SetString{\enclname}{P.~J. } \SetString{\ccname}{Copie \`a } \SetString{\headtoname}{} \SetString{\proofname}{D\'emonstration} \SetString{\glossaryname}{Glossaire} \SetStringLoop{ordinal#1}{% Premi\`ere,Deuxi\`eme,Troisi\`eme,Quatri\`eme,Cinqui\`eme,% Sixi\`eme,Septi\`eme,Huiti\`eme,Neuvi\`eme,Dixi\`eme,Onzi\`eme,% Douzi\`eme,Treizi\`eme,Quatorzi\`eme,Quinzi\`eme,Seizi\`eme,% Dix-septi\`eme,Dix-huiti\`eme,Dix-neuvi\`eme,Vingti\`eme} \AfterBabelCommands{% \DeclareRobustCommand*{\FB@emptypart}{\def\thepart{}}% \DeclareRobustCommand*{\FB@Rpart}{\def\thepart{\Roman{part}}}% } \SetString{\partname}{% \csname ordinal\romannumeral\value{part}\endcsname\space partie\FB@emptypart} \EndBabelCommands \bgroup \catcode`:=12 \catcode`>=12 \relax \long\gdef\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} \egroup \newif\if@FBwarning@capsep \@FBwarning@capseptrue \newcommand{\FBWarning}[2]{\PackageWarning{#1}{#2}} \newcommand*{\CaptionSeparator}{\space\textendash\space} \def\FBCaption@Separator{:\space} \long\def\FB@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1\FBCaption@Separator #2}% \ifdim \wd\@tempboxa >\hsize #1\FBCaption@Separator #2\par \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} \@ifclassloaded{amsart}{\@FBwarning@capsepfalse}{} \@ifclassloaded{amsbook}{\@FBwarning@capsepfalse}{} \@ifclassloaded{amsdtx}{\@FBwarning@capsepfalse}{} \@ifclassloaded{amsldoc}{\@FBwarning@capsepfalse}{} \@ifclassloaded{amproc}{\@FBwarning@capsepfalse}{} \@ifclassloaded{smfart}{\@FBwarning@capsepfalse}{} \@ifclassloaded{smfbook}{\@FBwarning@capsepfalse}{} \ifFB@active@punct\else\@FBwarning@capsepfalse\fi \newif\ifFB@koma \@ifclassloaded{memoir}{\@FBwarning@capsepfalse}{} \@ifclassloaded{scrartcl}{\@FBwarning@capsepfalse\FB@komatrue}{} \@ifclassloaded{scrbook}{\@FBwarning@capsepfalse\FB@komatrue}{} \@ifclassloaded{scrreprt}{\@FBwarning@capsepfalse\FB@komatrue}{} \ifdefined\@makecaption\else\@FBwarning@capsepfalse\fi \@ifpackageloaded{caption} {\FBWarning{frenchb.ldf}% {Please load the "caption" package\MessageBreak AFTER babel/frenchb; reported}% \@FBwarning@capsepfalse}% {} \@ifpackageloaded{floatrow} {\FBWarning{frenchb.ldf}% {Please load the "floatrow" package\MessageBreak AFTER babel/frenchb; reported}% \@FBwarning@capsepfalse}% {} \AtBeginDocument{% \ifx\@makecaption\STD@makecaption \global\let\@makecaption\FB@makecaption \ifFBOldFigTabCaptions \else \def\FBCaption@Separator{\iflanguage{french}{ : }{: }}% \fi \ifFBCustomiseFigTabCaptions \ifx\bbl@main@language\FB@french \def\FBCaption@Separator{\CaptionSeparator}% \fi \fi \@FBwarning@capsepfalse \fi \if@FBwarning@capsep \FBWarning{frenchb.ldf}% {Figures' and tables' captions might look like\MessageBreak `Figure 1:' which is wrong in French.\MessageBreak Check your class or packages to change this;\MessageBreak reported}% \fi \let\FB@makecaption\relax \let\STD@makecaption\relax } \ifFBunicode \let\FBtextellipsis\textellipsis \else \DeclareTextSymbol{\FBtextellipsis}{LY1}{133} \DeclareTextCommandDefault{\FBtextellipsis}{% .\kern\fontdimen3\font.\kern\fontdimen3\font.\xspace} \fi \newcommand*{\Tdots@}{\@xp\textellipsis} \newcommand*{\Mdots@}{\@xp\mdots@} \AtBeginDocument{\DeclareRobustCommand*{\dots}{\relax \csname\ifmmode M\else T\fi dots@\endcsname}% \ifdefined\@xp\else\let\@xp\relax\fi \ifdefined\mdots@\else\let\Mdots@\mathellipsis\fi } \def\bbl@frenchdots{\babel@save\Tdots@ \let\Tdots@\FBtextellipsis} \FB@addto{extras}{\bbl@frenchdots} \newcommand*{\frenchbsetup}[1]{% \setkeys{FB}{#1}% }% \@onlypreamble\frenchbsetup \newif\ifFBShowOptions \FBShowOptionsfalse \newif\ifFBStandardLayout \FBStandardLayouttrue \newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchtrue \newif\ifFBReduceListSpacing \FBReduceListSpacingfalse \newif\ifFBListOldLayout \FBListOldLayoutfalse \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\ifFBCustomiseFigTabCaptions \FBCustomiseFigTabCaptionsfalse \newif\ifFBOldFigTabCaptions \FBOldFigTabCaptionsfalse \newif\ifFBSuppressWarning \FBSuppressWarningfalse \newif\ifFBINGuillSpace \FBINGuillSpacefalse \edef\FB@french{\CurrentOption} \AtEndOfPackage{% \ifx\bbl@main@language\FB@french \FBGlobalLayoutFrenchtrue \@ifclassloaded{beamer}% {\PackageInfo{frenchb.ldf}{% No list customisation for the beamer class,% \MessageBreak reported}}% {\FBReduceListSpacingtrue \FBStandardItemizeEnvfalse \FBStandardEnumerateEnvfalse \FBStandardItemLabelsfalse}% \FBIndentFirsttrue \FBFrenchFootnotestrue \FBAutoSpaceFootnotestrue \FBCustomiseFigTabCaptionstrue \else \FBGlobalLayoutFrenchfalse \fi \RequirePackage{keyval}% \define@key{FB}{ShowOptions}[true]% {\csname FBShowOptions#1\endcsname}% \define@key{FB}{StandardLayout}[true]% {\csname FBStandardLayout#1\endcsname \ifFBStandardLayout \FBReduceListSpacingfalse \FBStandardItemizeEnvtrue \FBStandardItemLabelstrue \FBStandardEnumerateEnvtrue \FBIndentFirstfalse \FBFrenchFootnotesfalse \FBAutoSpaceFootnotesfalse \FBGlobalLayoutFrenchfalse \else \FBReduceListSpacingtrue \FBStandardItemizeEnvfalse \FBStandardItemLabelsfalse \FBStandardEnumerateEnvfalse \FBIndentFirsttrue \FBFrenchFootnotestrue \FBAutoSpaceFootnotestrue \fi}% \define@key{FB}{GlobalLayoutFrench}[true]% {\csname FBGlobalLayoutFrench#1\endcsname \ifFBGlobalLayoutFrench \ifx\bbl@main@language\FB@french \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 \FBStandardEnumerateEnvtrue \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 \ifFBPartNameFull \else \FB@addto{captions}{% \def\partname{Partie\protect\FB@Rpart}}% \fi}% \define@key{FB}{CustomiseFigTabCaptions}[true]% {\csname FBCustomiseFigTabCaptions#1\endcsname}% \define@key{FB}{OldFigTabCaptions}[true]% {\csname FBOldFigTabCaptions#1\endcsname \ifFBOldFigTabCaptions \FB@addto{extras}{\babel@save\FBCaption@Separator \def\FBCaption@Separator{\CaptionSeparator}}% \fi}% \define@key{FB}{SuppressWarning}[true]% {\csname FBSuppressWarning#1\endcsname \ifFBSuppressWarning \renewcommand{\FBWarning}[2]{\relax}% \fi}% \define@key{FB}{INGuillSpace}[true]% {\csname FBINGuillSpace#1\endcsname}% \define@key{FB}{InnerGuillSingle}[true]% {\csname FBInnerGuillSingle#1\endcsname}% \define@key{FB}{EveryParGuill}{\expandafter\let\expandafter \FBeveryparguill\csname FBguill#1\endcsname}% \define@key{FB}{EveryLineGuill}{\expandafter\let\expandafter \FBeverylineguill\csname FBguill#1\endcsname \ifFB@luatex@punct \else \let\FBeverylineguill\FBguillnone \PackageWarning{frenchb.ldf}% {Option `EveryLineGuill' skipped:% \MessageBreak this option is for LuaTeX *only*.\MessageBreak Reported}% \fi}% \define@key{FB}{og}{% \ifFBunicode \ifFB@luatex@punct \FB@addGUILspace=1 \relax \fi \ifFB@xetex@punct \XeTeXcharclass"13 = \FB@guilo \XeTeXcharclass"AB = \FB@guilo \XeTeXcharclass"A0 = \FB@guilnul \XeTeXcharclass"202F = \FB@guilnul \fi \else \newcommand*{\FB@@og}{% \iflanguage{french}% {\ifFBAutoSpaceGuill\FB@og\ignorespaces \else\guillemotleft \fi}% {\guillemotleft}}% \AtBeginDocument{% \ifdefined\DeclareInputText \ifdefined\uc@dclc \uc@dclc{171}{default}{\FB@@og}% \else \ifdefined\DeclareUnicodeCharacter \DeclareUnicodeCharacter{00AB}{\FB@@og}% \else \@tempcnta`#1\relax \ifdefined\mule@def \mule@def{11}{\FB@@og}% \else \DeclareInputText{\the\@tempcnta}{\FB@@og}% \fi \fi \fi \else \PackageWarning{frenchb.ldf}% {Option `og' requires package inputenc.\MessageBreak}% \fi }% \fi }% \define@key{FB}{fg}{% \ifFBunicode \ifFB@luatex@punct \FB@addGUILspace=1 \relax \fi \ifFB@xetex@punct \XeTeXcharclass"14 = \FB@guilf \XeTeXcharclass"BB = \FB@guilf \XeTeXcharclass"A0 = \FB@guilnul \XeTeXcharclass"202F = \FB@guilnul \fi \else \newcommand*{\FB@@fg}{% \iflanguage{french}% {\ifFBAutoSpaceGuill\FB@fg \else\guillemotright \fi}% {\guillemotright}}% \AtBeginDocument{% \ifdefined\DeclareInputText \ifdefined\uc@dclc \uc@dclc{187}{default}{\FB@@fg}% \else \ifdefined\DeclareUnicodeCharacter \DeclareUnicodeCharacter{00BB}{\FB@@fg}% \else \@tempcnta`#1\relax \ifdefined\mule@def \mule@def{27}{{\FB@@fg}}% \else \DeclareInputText{\the\@tempcnta}{\FB@@fg}% \fi \fi \fi \else \PackageWarning{frenchb.ldf}% {Option `fg' requires package inputenc.\MessageBreak}% \fi }% \fi }% } \newcommand*{\FBprocess@options}{% \@ifpackageloaded{enumitem}{% \ifFBStandardItemizeEnv \else \FBStandardItemizeEnvtrue \PackageInfo{frenchb.ldf}% {Setting StandardItemizeEnv=true for\MessageBreak compatibility with enumitem package,\MessageBreak}% \fi \ifFBStandardEnumerateEnv \else \FBStandardEnumerateEnvtrue \PackageInfo{frenchb.ldf}% {Setting StandardEnumerateEnv=true for\MessageBreak compatibility with enumitem package,\MessageBreak}% \fi}{}% \@ifpackageloaded{paralist}{% \ifFBStandardItemizeEnv \else \FBStandardItemizeEnvtrue \PackageInfo{frenchb.ldf}% {Setting StandardItemizeEnv=true for\MessageBreak compatibility with paralist package,\MessageBreak}% \fi \ifFBStandardEnumerateEnv \else \FBStandardEnumerateEnvtrue \PackageInfo{frenchb.ldf}% {Setting StandardEnumerateEnv=true for\MessageBreak compatibility with paralist package,\MessageBreak}% \fi}{}% \@ifpackageloaded{enumerate}{% \ifFBStandardEnumerateEnv \else \FBStandardEnumerateEnvtrue \PackageInfo{frenchb.ldf}% {Setting StandardEnumerateEnv=true for\MessageBreak compatibility with enumerate package,\MessageBreak}% \fi}{}% \def\FB@ufl{\update@frenchlists} \ifx\bbl@main@language\FB@french \update@frenchlists \fi \ifFBAutoSpacePunctuation \autospace@beforeFDP \else \noautospace@beforeFDP \fi \ifFBOriginalTypewriter \else \let\ttfamilyORI\ttfamily \let\rmfamilyORI\rmfamily \let\sffamilyORI\sffamily \let\ttfamily\ttfamilyFB \let\rmfamily\rmfamilyFB \let\sffamily\sffamilyFB \fi \ifFBThinColonSpace \ifFB@luatex@punct \FBcolonskip=\FBthinskip\relax \else \renewcommand*{\FBcolonspace}{\FBthinspace}% \fi \fi \ifFBINGuillSpace \ifFB@luatex@punct \FBguillskip=3.33pt plus 1.665pt minus 1.11pt \relax \else \renewcommand*{\FBguillspace}{\space}% \fi \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 \ifFBCustomiseFigTabCaptions \ifFB@koma \let\captionformat\CaptionSeparator \fi \@ifclassloaded{memoir}% {\captiondelim{\CaptionSeparator}}{}% \else \ifFB@koma \def\captionformat{\iflanguage{french}{ : }{: }}% \fi \@ifclassloaded{memoir}% {\captiondelim{\iflanguage{french}{ : }{: }}}{}% \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 CustomiseFigTabCaptions=false [true]\MessageBreak OldFigTabCaptions=true [false]\MessageBreak INGuillSpace=true [false]\MessageBreak InnerGuillSingle=true [false]\MessageBreak EveryParGuill=open, close, none [open]\MessageBreak EveryLineGuill=open, close, none [open in LuaTeX, none otherwise]\MessageBreak og= , fg= % \MessageBreak *********************************************% \MessageBreak\protect\frenchbsetup{ShowOptions}} \fi } \AtBeginDocument{% \providecommand*{\xspace}{\relax}% \ifdefined\pdfstringdefDisableCommands \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 }% \fi \FBprocess@options \ifFB@luatex@punct \activate@luatexpunct \fi \ifFBunicode \ifdefined\DeclareUTFcharacter \else \@ifpackageloaded{luainputenc}{}% {\PackageWarning{frenchb.ldf}% {Add \protect\usepackage{fontspec} to the\MessageBreak preamble of your document,}% }% \fi \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 } \let\listORI\list \let\endlistORI\endlist \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}} \let\endlistFB\endlist \newcommand*{\FrenchLabelItem}{\textemdash} \newcommand*{\Frlabelitemi}{\FrenchLabelItem} \newcommand*{\Frlabelitemii}{\FrenchLabelItem} \newcommand*{\Frlabelitemiii}{\FrenchLabelItem} \newcommand*{\Frlabelitemiv}{\FrenchLabelItem} \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{% \ifFBReduceListSpacing \setlength{\itemsep}{\z@}% \setlength{\parsep}{\z@}% \setlength{\topsep}{\z@}% \setlength{\partopsep}{\z@}% \@tempdima=\parskip \addtolength{\topsep}{-\@tempdima}% \addtolength{\partopsep}{\@tempdima}% \fi \settowidth{\labelwidth}{\csname\@itemitem\endcsname}% \ifFBListOldLayout \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 } \let\enditemizeFB\endlistORI \def\labelitemsFB{% \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 } \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 } \let\endenumerateFB\endlistORI \def\descriptionFB{% \list{}{\FB@listHsettings \labelwidth\z@ \itemindent-\leftmargin \ifnum\@listdepth=1 \advance\itemindent by \listindentFB \fi \let\makelabel\descriptionlabel}% } \let\enddescriptionFB\endlistORI \def\update@frenchlists{% \ifFBReduceListSpacing \let\list\listFB \fi \ifFBStandardItemizeEnv \else \let\itemize\itemizeFB \fi \ifFBStandardItemLabels \else \labelitemsFB \fi \ifFBStandardEnumerateEnv \else \let\enumerate\enumerateFB \let\description\descriptionFB \fi } \def\FB@ufl{\relax} \def\bbl@frenchlistlayout{% \ifFBGlobalLayoutFrench \else \babel@save\list \babel@save\itemize \babel@save\enumerate \babel@save\description \babel@save\labelitemi \babel@save\labelitemii \babel@save\labelitemiii \babel@save\labelitemiv \fi \FB@ufl } \def\bbl@nonfrenchlistlayout{% \ifFBGlobalLayoutFrench \update@frenchlists \fi } \FB@addto{extras}{\bbl@frenchlistlayout} \FB@addto{noextras}{\bbl@nonfrenchlistlayout} \def\bbl@frenchindent{% \ifFBGlobalLayoutFrench\else\babel@save\@afterindentfalse\fi \ifFBIndentFirst \let\@afterindentfalse\@afterindenttrue \@afterindenttrue \fi} \def\bbl@nonfrenchindent{% \ifFBGlobalLayoutFrench \ifFBIndentFirst \@afterindenttrue \fi \fi} \FB@addto{extras}{\bbl@frenchindent} \FB@addto{noextras}{\bbl@nonfrenchindent} \AtBeginDocument{\@ifpackageloaded{bigfoot}% {\PackageInfo{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} \FBclean@on@exit \ldf@finish\CurrentOption \endinput %% %% End of file `frenchb.ldf'.