summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/frenchb.ldf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/frenchb.ldf')
-rw-r--r--Master/texmf-dist/tex/generic/babel/frenchb.ldf204
1 files changed, 162 insertions, 42 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/frenchb.ldf b/Master/texmf-dist/tex/generic/babel/frenchb.ldf
index e545dbe7f6e..d12d4036724 100644
--- a/Master/texmf-dist/tex/generic/babel/frenchb.ldf
+++ b/Master/texmf-dist/tex/generic/babel/frenchb.ldf
@@ -36,30 +36,34 @@
%% 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{french}
- [2007/10/05 v2.0e French support from the babel system]
+\ProvidesLanguage{frenchb}
+ [2008/05/08 v2.2a French support from the babel system]
%% File `frenchb.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 - 2007
+%% Copyright (C) 1989 - 2008
%% by Johannes Braams, TeXniek
%% Frenchb language Definition File
-%% Copyright (C) 1989 - 2007
+%% Copyright (C) 1989 - 2008
%% by Johannes Braams, TeXniek
%% Daniel Flipo, GUTenberg
%% Please report errors to: Daniel Flipo, GUTenberg
%% Daniel.Flipo at univ-lille1.fr
+\def\CurrentOption{french}
\LdfInit\CurrentOption\datefrench
\newif\ifLaTeXe
+\let\bbl@tempa\relax
\ifx\magnification\@undefined
\ifx\@compatibilitytrue\@undefined
- \PackageError{frenchb.ldf}%
+ \PackageError{frenchb.ldf}
{LaTeX-2.09 format is no longer supported.\MessageBreak
- Aborting here.}%
- \endinput
+ 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
@@ -76,7 +80,6 @@
\let\l@french\l@francais
\fi
\fi
-\def\CurrentOption{french}
\ifx\l@francais\@undefined
\let\l@francais\l@french
\fi
@@ -211,14 +214,50 @@
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\bbl@nonfrenchguillemets}
\@namedef{date\CurrentOption}{%
- \def\today{\number\day \ifnum1=\day {\ier}\fi \relax \space
+ \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 \relax
+ d\'ecembre\fi
\space \number\year}}
+\newif\ifFB@poorman
+\newdimen\FB@Mht
\ifLaTeXe
- \newcommand*{\up}[1]{\textsuperscript{#1}}
+ \AtEndOfPackage{\RequirePackage{scalefnt}}
+ \newcommand*{\FBsupR}{-0.12}
+ \newcommand*{\FBsupS}{0.65}
+ \newcommand*{\FB@lc}[1]{\lowercase{#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}}%
+ {\bgroup\let\fakesuperscript\FB@up@fake
+ \realsuperscript{\FB@lc{#1}}\egroup}}
+ \newcommand*{\up}{\relax}
\else
\newcommand*{\up}[1]{\leavevmode\raise1ex\hbox{\sevenrm #1}}
\fi
@@ -242,6 +281,8 @@
\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
@@ -267,6 +308,7 @@
\newcommand*{\boi}{$\backslash$}
\fi
\ifLaTeXe
+ \newcommand*{\degres}{\degre}
\def\Warning@degree@TSone{%
\PackageWarning{frenchb.ldf}{%
Degrees would look better in TS1-encoding:
@@ -303,7 +345,7 @@
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\mathcode`\,=\std@mcc}
\newcommand*{\nombre}[1]{{#1}\message{%
- *** \noexpand\nombre no longer formats numbers\string! ***}}%
+ *** \noexpand\nombre no longer formats numbers\string! ***}}%
\let\FBstop@here\relax
\def\FBclean@on@exit{\let\ifLaTeXe\@undefined
\let\LaTeXetrue\@undefined
@@ -536,12 +578,19 @@
\newcommand*{\AddThinSpaceBeforeFootnotes}{\FBAutoSpaceFootnotestrue}
\newcommand*{\FrenchFootnotes}{\FBFrenchFootnotestrue}
\newcommand*{\StandardFootnotes}{\FBFrenchFootnotesfalse}
-\newcommand*{\FrenchLayout}{\FBGlobalLayoutFrenchtrue
- \PackageWarning{frenchb.ldf}%
+\newcommand*{\FrenchLayout}{%
+ \FBGlobalLayoutFrenchtrue
+ \PackageWarning{frenchb.ldf}%
{\protect\FrenchLayout\space is obsolete. Please use\MessageBreak
\protect\frenchbsetup{GlobalLayoutFrench} instead.}%
}
-\newcommand*{\StandardLayout}{\FBStandardLayouttrue
+\newcommand*{\StandardLayout}{%
+ \FBReduceListSpacingfalse
+ \FBCompactItemizefalse
+ \FBStandardItemLabelstrue
+ \FBIndentFirstfalse
+ \FBFrenchFootnotesfalse
+ \FBAutoSpaceFootnotesfalse
\PackageWarning{frenchb.ldf}%
{\protect\StandardLayout\space is obsolete. Please use\MessageBreak
\protect\frenchbsetup{StandardLayout} instead.}%
@@ -554,7 +603,7 @@
\newcommand*{\Tdots@ORI}{\@xp\textellipsis}
\newcommand*{\Tdots@}{\Tdots@ORI}
\newcommand*{\Mdots@}{\@xp\mdots@}
-\AtBeginDocument{\DeclareRobustCommand{\dots}{\relax
+\AtBeginDocument{\DeclareRobustCommand*{\dots}{\relax
\csname\ifmmode M\else T\fi dots@\endcsname}%
\@ifundefined{@xp}{\let\@xp\relax}{}%
\@ifundefined{mdots@}{\let\Tdots@ORI\textellipsis
@@ -565,20 +614,32 @@
\bbl@frenchdots}
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\bbl@nonfrenchdots}
-\newif\ifFBStandardLayout \FBStandardLayoutfalse
+\newif\ifFBStandardLayout \FBStandardLayouttrue
\newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchfalse
+\newif\ifFBReduceListSpacing \FBReduceListSpacingfalse
+\newif\ifFBCompactItemize \FBCompactItemizefalse
+\newif\ifFBStandardItemLabels \FBStandardItemLabelstrue
+\newif\ifFBStandardLists \FBStandardListstrue
+\newif\ifFBIndentFirst \FBIndentFirstfalse
+\newif\ifFBFrenchFootnotes \FBFrenchFootnotesfalse
+\newif\ifFBAutoSpaceFootnotes \FBAutoSpaceFootnotesfalse
\newif\ifFBAutoSpacePunctuation \FBAutoSpacePunctuationtrue
\newif\ifFBThinColonSpace \FBThinColonSpacefalse
-\newif\ifFBReduceListSpacing \FBReduceListSpacingtrue
-\newif\ifFBCompactItemize \FBCompactItemizetrue
-\newif\ifFBStandardItemLabels \FBStandardItemLabelsfalse
-\newif\ifFBStandardLists \FBStandardListsfalse
-\newif\ifFBIndentFirst \FBIndentFirsttrue
-\newif\ifFBFrenchFootnotes \FBFrenchFootnotestrue
-\newif\ifFBAutoSpaceFootnotes \FBAutoSpaceFootnotestrue
\newif\ifFBThinSpaceInFrenchNumbers \FBThinSpaceInFrenchNumbersfalse
+\newif\ifFBFrenchSuperscripts \FBFrenchSuperscriptstrue
+\newif\ifFBLowercaseSuperscripts \FBLowercaseSuperscriptstrue
\newif\ifFBPartNameFull \FBPartNameFulltrue
\newif\ifFBShowOptions \FBShowOptionsfalse
+\AtEndOfPackage{%
+ \iflanguage{french}{\FBReduceListSpacingtrue
+ \FBCompactItemizetrue
+ \FBStandardItemLabelsfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \FBGlobalLayoutFrenchtrue}%
+ {}%
+}
\newcommand*{\frenchbsetup}[1]{%
\setkeys{FB}{#1}%
}%
@@ -588,17 +649,31 @@
\define@key{FB}{StandardLayout}[true]%
{\csname FBStandardLayout#1\endcsname
\ifFBStandardLayout
- \FBStandardListstrue
+ \FBReduceListSpacingfalse
+ \FBCompactItemizefalse
+ \FBStandardItemLabelstrue
\FBIndentFirstfalse
\FBFrenchFootnotesfalse
\FBAutoSpaceFootnotesfalse
+ \FBGlobalLayoutFrenchfalse
+ \else
+ \FBReduceListSpacingtrue
+ \FBCompactItemizetrue
+ \FBStandardItemLabelsfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
\fi}%
\define@key{FB}{GlobalLayoutFrench}[true]%
- {\csname FBGlobalLayoutFrench#1\endcsname}%
- \define@key{FB}{AutoSpacePunctuation}[true]%
- {\csname FBAutoSpacePunctuation#1\endcsname}%
- \define@key{FB}{ThinColonSpace}[true]%
- {\csname FBThinColonSpace#1\endcsname}%
+ {\csname FBGlobalLayoutFrench#1\endcsname
+ \ifFBGlobalLayoutFrench
+ \FBReduceListSpacingtrue
+ \FBCompactItemizetrue
+ \FBStandardItemLabelsfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \fi}%
\define@key{FB}{ReduceListSpacing}[true]%
{\csname FBReduceListSpacing#1\endcsname}%
\define@key{FB}{CompactItemize}[true]%
@@ -615,12 +690,16 @@
\renewcommand*{\Frlabelitemiii}{#1}}%
\define@key{FB}{ItemLabeliv}{%
\renewcommand*{\Frlabelitemiv}{#1}}%
- \define@key{FB}{StandardLists}[false]%
- {\csname FBStandardLayout#1\endcsname
+ \define@key{FB}{StandardLists}[true]%
+ {\csname FBStandardLists#1\endcsname
\ifFBStandardLists
\FBReduceListSpacingfalse
\FBCompactItemizefalse
\FBStandardItemLabelstrue
+ \else
+ \FBReduceListSpacingtrue
+ \FBCompactItemizetrue
+ \FBStandardItemLabelsfalse
\fi}%
\define@key{FB}{IndentFirst}[true]%
{\csname FBIndentFirst#1\endcsname}%
@@ -628,8 +707,16 @@
{\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}{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}{ShowOptions}[true]%
@@ -698,12 +785,6 @@
}%
}
\newcommand*{\FBprocess@options}{%
- \ifFBAutoSpacePunctuation
- \AutoSpaceBeforeFDP
- \else
- \NoAutoSpaceBeforeFDP
- \fi
- \ifFBThinColonSpace\renewcommand*{\Fcolonspace}{\thinspace}\fi
\ifFBReduceListSpacing
\addto\extrasfrench{\let\list\listFB
\let\endlist\endlistFB}%
@@ -758,6 +839,12 @@
\addto\extrasfrench{\bbl@nonfrenchindent}%
\addto\noextrasfrench{\bbl@nonfrenchindent}%
\fi
+ \ifFBAutoSpacePunctuation
+ \AutoSpaceBeforeFDP
+ \else
+ \NoAutoSpaceBeforeFDP
+ \fi
+ \ifFBThinColonSpace\renewcommand*{\Fcolonspace}{\thinspace}\fi
\@ifpackageloaded{numprint}%
{\ifnprt@autolanguage
\providecommand*{\npstylefrench}{}%
@@ -782,17 +869,26 @@
\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]\MessageBreak
+ [Default values between brackets when frenchb is loaded *LAST*]%
+ \MessageBreak
ShowOptions=true [false]\MessageBreak
StandardLayout=true [false]\MessageBreak
- GlobalLayoutFrench=true [false]\MessageBreak
- AutoSpacePunctuation=false [true]\MessageBreak
- ThinColonSpace=true [false]\MessageBreak
+ GlobalLayoutFrench=false [true]\MessageBreak
StandardLists=true [false]\MessageBreak
ReduceListSpacing=false [true]\MessageBreak
CompactItemize=false [true]\MessageBreak
@@ -810,7 +906,11 @@
IndentFirst=false [true]\MessageBreak
FrenchFootnotes=false [true]\MessageBreak
AutoSpaceFootnotes=false [true]\MessageBreak
+ AutoSpacePunctuation=false [true]\MessageBreak
+ ThinColonSpace=true [false]\MessageBreak
ThinSpaceInFrenchNumbers=true [false]\MessageBreak
+ FrenchSuperscripts=false [true]\MessageBreak
+ LowercaseSuperscripts=false [true]\MessageBreak
PartNameFull=false [true]\MessageBreak
og= <left quote character>, fg= <right quote character>
\MessageBreak
@@ -828,6 +928,26 @@
\let\@ltiiiORI\labelitemiii
\let\@ltivORI\labelitemiv
\providecommand*{\xspace}{\relax}%
+ \@ifundefined{pdfstringdefDisableCommands}{}%
+ {\pdfstringdefDisableCommands{%
+ \let\up\relax
+ \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\og{\guillemotleft\space}%
+ \def\fg{\space\guillemotright}%
+ \let\bsc\textsc
+ \let\degres\degre
+ }}%
\FBprocess@options
\iflanguage{french}{\extrasfrench\captionsfrench}{\noextrasfrench}%
\expandafter\ifx\csname XeTeXrevision\endcsname\relax