summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-01-31 22:46:16 +0000
committerKarl Berry <karl@freefriends.org>2017-01-31 22:46:16 +0000
commit41ab425c0a439bd965b4c7072f4e6d638c98a532 (patch)
treef2c3810bc9e038c181666b78259f4d48d529c829 /Master
parentedd2ef74ae7ba26589cde2f4889dd1802fceb49f (diff)
babel-french (31jan17)
git-svn-id: svn://tug.org/texlive/trunk@43107 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/babel-french/README2
-rw-r--r--Master/texmf-dist/doc/generic/babel-french/frenchb.pdfbin268840 -> 270559 bytes
-rw-r--r--Master/texmf-dist/source/generic/babel-french/frenchb.dtx1075
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.ldf921
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.lua2
5 files changed, 1060 insertions, 940 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-french/README b/Master/texmf-dist/doc/generic/babel-french/README
index 8ee608d2b23..7d9a4c1f99e 100644
--- a/Master/texmf-dist/doc/generic/babel-french/README
+++ b/Master/texmf-dist/doc/generic/babel-french/README
@@ -3,7 +3,7 @@ The babel-french bundle (formerly known as `frenchb')
French language support for the babel multilingual package
-Copyright 1996--2016 Daniel Flipo
+Copyright 1996--2017 Daniel Flipo
E-mail: daniel (dot) flipo (at) free (dot) fr
Released under the LaTeX Project Public License v1.3 or later
diff --git a/Master/texmf-dist/doc/generic/babel-french/frenchb.pdf b/Master/texmf-dist/doc/generic/babel-french/frenchb.pdf
index 3ba610aa61f..4741974e754 100644
--- a/Master/texmf-dist/doc/generic/babel-french/frenchb.pdf
+++ b/Master/texmf-dist/doc/generic/babel-french/frenchb.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/generic/babel-french/frenchb.dtx b/Master/texmf-dist/source/generic/babel-french/frenchb.dtx
index d4c7e7213ed..3d10d08f94e 100644
--- a/Master/texmf-dist/source/generic/babel-french/frenchb.dtx
+++ b/Master/texmf-dist/source/generic/babel-french/frenchb.dtx
@@ -1,4 +1,4 @@
-%\CheckSum{3424}
+%\CheckSum{3472}
%
%\iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
@@ -13,14 +13,14 @@
%<ldf>\ProvidesLanguage{frenchb}
%\ProvidesFile{frenchb.dtx}
%<*!lua>
- [2017/01/15 v3.2f French support from the babel system]
+ [2017/01/30 v3.2g French support from the babel system]
%</!lua>
%<*internal>
\iffalse
%</internal>
%<*lua>
--
--- File `frenchb.lua' generated from frenchb.dtx [2017/01/15 v3.2f]
+-- File `frenchb.lua' generated from frenchb.dtx [2017/01/30 v3.2g]
--
-- Copyright © 2014-2017 Daniel Flipo
-- <daniel (dot) flipo (at) free (dot) fr>
@@ -219,30 +219,33 @@
% quotations. For quotations spreading over more than one
% paragraph, |\frquote| will add at the beginning of every
% paragraph of the quotation either an opening French
-% guillemet («), or a closing one (») depending on option
-% \fbo{EveryParGuill=open} or \fbo{=close}, see
-% p.~\pageref{everyparguill}.\label{frquote}
+% guillemet («), or a closing one (») or nothing depending
+% on option \fbo{EveryParGuill=open} or \fbo{=close} or
+% \fbo{=none}, see p.~\pageref{everyparguill}.\label{frquote}
%
% |\frquote| is recommended to enter embedded quotations ``à la
-% française'', several variants are provided through options:
+% française'', several variants are provided through options.
% \begin{itemize}
-% \item with LuaTeX based engines, every line of the inner
-% quotation will start with a French opening or closing
-% guillemet (« or »)
-% depending on option \fbo{EveryLineGuill=open} (default) or
-% \fbo{=close} unless you explicitly set
-% \fbo{EveryLineGuill=none}, then |\frquote{}| will behave
-% as with non-LuaTeX engines;
-% \item with all other engines, the inner quotation is
-% surrounded by double quotes (``\textit{texte}'') unless
-% option \fbo{InnerGuillSingle=true}, then a) the inner
-% quotation is printed as
+% \item with all engines: the inner quotation
+% is surrounded by double quotes (``\textit{texte}'')
+% unless option \fbo{InnerGuillSingle=true}, then
+% a) the inner quotation is printed as
% \guilsinglleft\FBguillspace\textit{texte}\FBguillspace
% \guilsinglright{} and b) if the inner quotation
% spreads over more than one paragraph, every paragraph
% included in the inner quotation starts with
-% a \guilsinglleft{} or a \guilsinglright, depending on
-% option \fbo{EveryParGuill=open} or \fbo{close}.
+% a \guilsinglleft{} or a \guilsinglright{} or nothing,
+% depending on option \fbo{EveryParGuill=open} (default)
+% or \fbo{=close} or \fbo{=none}.
+% \item with LuaTeX based engines, it is possible to add a
+% French opening or closing guillemet (« or ») at the
+% beginning of every line of the inner quotation using
+% option \fbo{EveryLineGuill=open} or \fbo{=close}; note
+% that with any of these options, the inner quotation is
+% surrounded by French guillemets (« and ») regardless
+% option \fbo{InnerGuillSingle};
+% the default is \fbo{EveryLineGuill=none} so that
+% |\frquote{}| behaves as with non-LuaTeX engines.
% \end{itemize}
% A starred variant |\frquote*| is meant for inner quotations
% which end together with the outer one: using |\frquote*| for
@@ -490,33 +493,30 @@
% \item [EveryParGuill=open, close, none (open)]; sets whether
% an opening quote (\texttt{«}) or a closing one (\texttt{»}) or
% nothing should be printed by |\frquote{}| at the beginning of
-% every parapraph in case of a level 1 (outer) quotation
-% spreading over more than one parapraph. This option is also
-% considered for level 2 (inner) quotations to decide between
-% \texttt{\guilsinglleft} and \texttt{\guilsinglright} when
-% \fbo{InnerGuillSingle=true} (see below). \label{everyparguill}
-% \item [EveryLineGuill=open, close, none (open in LuaTeX, none
-% otherwise)]; with engines other than LuaTeX this
-% option is set to \fbo{none} which means that nothing will be
-% printed at the beginning of every line of inner quotations,
-% trying to set this option will issue a warning in the
-% \file{.log} file.
-%
-% With LuaTeX based engines, this option is set to \fbo{open} by
-% default, it ensures that a `«' followed by proper
-% kern will be repeated at the beginning of every line in case an
-% embedded (inner) quotation spreads over more than one line
-% (provided that both outer and inner quotations are entered with
-% |\frquote{}|). Set this option to \fbo{close} if you want
-% a `»' instead of a `«'.
+% every parapraph included in a level 1 (outer) quotation.
+% This option is also considered for level 2 (inner) quotations
+% to decide between \texttt{\guilsinglleft} and
+% \texttt{\guilsinglright} when \fbo{InnerGuillSingle=true}
+% (see below). \label{everyparguill}
+% \item [EveryLineGuill=open, close, none (none)]; with LuaTeX
+% based engines \emph{only}, it is possible to set this option
+% to \fbo{open} [resp. \fbo{close}]; this ensures that a `«'
+% [resp. `»'] followed by a proper kern will be inserted at the
+% beginning of every line of embedded (inner) quotations
+% spreading over more than one line (provided that both outer
+% and inner quotations are entered with |\frquote{}|). When
+% \fbo{EveryLineGuill=open} or \fbo{=close} the inner quotation is
+% always surrounded by « and », the next option is ineffective.
% \item [InnerGuillSingle=true (false)];
% if \fbo{InnerGuillSingle=false} (default), inner quotations
% entered with |\frquote{}| start with~\texttt{``} and end
% with~\texttt{''}.
% If \fbo{InnerGuillSingle=true}, \texttt{\guilsinglleft} and
% \texttt{\guilsinglright} are used instead of British double
-% quotes. Please note that this option only makes
-% sense when \fbo{EveryLineGuill=none}.
+% quotes; moreover if option \fbo{EveryParGuill=open} (or
+% \fbo{close}) is set, a \texttt{\guilsinglleft} (or
+% \texttt{\guilsinglright}) is added at the beginning of every
+% parapraph included in the inner quotation.
% \item [og=«, fg=»]; when guillemets characters are available on
% the keyboard (through a compose key for instance), it is nice
% to use them instead of typing |\og| and |\fg|. This option
@@ -624,6 +624,11 @@
%
% \subsubsection*{What's new in version 3.2?}
%
+% Version 3.2g changes the default behaviour of |\frquote{}|
+% with LuaTeX based engines, the output is now the same with
+% all engines; to recover the former behaviour, add option
+% \fbo{EveryLineGuill=open}.
+%
% The handling of footnotes has been redesigned for the
% \cls{beamer}, \cls{memoir} and koma-script classes.
% The layout of footnotes ``à la française'' should be unchanged
@@ -2192,10 +2197,10 @@ return french_punctuation
\ifLaTeXe
\else
\ifFBunicode
- \def\guillemotleft{{\char"00AB}}
- \def\guillemotright{{\char"00BB}}
- \def\textquotedblleft{{\char"201C}}
- \def\textquotedblright{{\char"201D}}
+ \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$}}
@@ -2353,6 +2358,10 @@ return french_punctuation
\newcommand*{\fgii}{\textquotedblright}
% \end{macrocode}
% and the needed technical stuff to handle options:
+%
+% \changes{v3.2g}{2017/01/30}{Default options of \cs{frquote} are no
+% longer engine-dependent.}
+%
% \begin{macrocode}
\newcount\FBguill@level
\newtoks\FB@everypar
@@ -2360,13 +2369,9 @@ return french_punctuation
\newif\ifFBInnerGuillSingle
\def\FBguillopen{\bgroup\NoAutoSpacing\guillemotleft\egroup}
\def\FBguillclose{\bgroup\NoAutoSpacing\guillemotright\egroup}
-\let\FBguillnone\relax
+\let\FBguillnone\empty
\let\FBeveryparguill\FBguillopen
-\ifFB@luatex@punct
- \let\FBeverylineguill\FBguillopen
-\else
- \let\FBeverylineguill\FBguillnone
-\fi
+\let\FBeverylineguill\FBguillnone
% \end{macrocode}
% The main command |\frquote| accepts (in \LaTeXe{} only) a starred
% version which suppresses the closing quote; it is meant to be used
@@ -2374,11 +2379,11 @@ return french_punctuation
% only one closing guillemet (the outer one) should be printed.
% \begin{macrocode}
\ifLaTeXe
- \DeclareRobustCommand\frquote{%
+ \DeclareRobustCommand\frquote{%
\@ifstar{\FBcloseguillfalse\fr@quote}%
{\FBcloseguilltrue\fr@quote}}
\else
- \newcommand\frquote[1]{\fr@quote{#1}}
+ \newcommand\frquote[1]{\fr@quote{#1}}
\fi
% \end{macrocode}
%
@@ -2409,7 +2414,7 @@ return french_punctuation
% and add it to |\everypar|, then print the quotation:
% \begin{macrocode}
\FB@everypar=\everypar
- \ifx\FBeveryparguill\relax
+ \ifx\FBeveryparguill\FBguillnone
\else
\def\FBeverypar@quote{\FBeveryparguill\FB@quotespace}%
\everypar=\expandafter{\the\everypar \FBeverypar@quote}%
@@ -2427,47 +2432,47 @@ return french_punctuation
%
% \begin{macrocode}
\ifx\FBeverylineguill\FBguillopen
- \localleftbox{\guillemotleft\FB@quotespace}%
- \let\FBeverypar@quote\relax
- \ogi #1\ifFBcloseguill\fgi\fi
+ \localleftbox{\guillemotleft\FB@quotespace}%
+ \let\FBeverypar@quote\relax
+ \ogi #1\ifFBcloseguill\fgi\fi
\else
\ifx\FBeverylineguill\FBguillclose
- \localleftbox{\guillemotright\FB@quotespace}%
- \let\FBeverypar@quote\relax
- \ogi #1\ifFBcloseguill\fgi\fi
+ \localleftbox{\guillemotright\FB@quotespace}%
+ \let\FBeverypar@quote\relax
+ \ogi #1\ifFBcloseguill\fgi\fi
\else
% \end{macrocode}
% otherwise we need to redefine |\FBeverypar@quote| (and eventually
% |\ogii|, |\fgii|) for level 2 quotations:
% \begin{macrocode}
- \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\FB@quotespace}%
- \fi
- \ifx\FBeveryparguill\FBguillclose
- \def\FBeverypar@quote{\guilsinglright\FB@quotespace}%
- \fi
- \fi
- \ogii #1\ifFBcloseguill \fgii \fi
+ \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\FB@quotespace}%
+ \fi
+ \ifx\FBeveryparguill\FBguillclose
+ \def\FBeverypar@quote{\guilsinglright\FB@quotespace}%
+ \fi
+ \fi
+ \ogii #1\ifFBcloseguill \fgii \fi
\fi
\fi
\else
% \end{macrocode}
% Warn if |\FBguill@level| $\ge 3$:
% \begin{macrocode}
- \ifx\PackageWarning\@undefined
- \fb@warning{\noexpand\frquote\space accepts no more than
- two levels.\\ Quotation not printed.}%
- \else
- \PackageWarning{frenchb.ldf}{%
- \protect\frquote\space accepts no more than two levels
- \MessageBreak Quotation not printed. Reported}
- \fi
+ \ifx\PackageWarning\@undefined
+ \fb@warning{\noexpand\frquote\space accepts no more than
+ two levels.\\ Quotation not printed.}%
+ \else
+ \PackageWarning{frenchb.ldf}{%
+ \protect\frquote\space accepts no more than two levels
+ \MessageBreak Quotation not printed. Reported}
+ \fi
\fi
% \end{macrocode}
% Clean on exit: adjust |\FBguill@level| and restore
@@ -2475,7 +2480,7 @@ return french_punctuation
% \begin{macrocode}
\advance\FBguill@level by \m@ne
\ifx\FBeverylineguill\FBguillnone\else\localleftbox{}\fi
- \ifx\FBeveryparguill\relax\else\everypar=\FB@everypar\fi
+ \ifx\FBeveryparguill\FBguillnone\else\everypar=\FB@everypar\fi
}
% \end{macrocode}
% \end{macro}
@@ -2670,7 +2675,7 @@ return french_punctuation
% \begin{macrocode}
\DeclareRobustCommand*{\fup}[1]{%
\ifx\realsuperscript\@undefined
- \FB@up{#1}%
+ \FB@up{#1}%
\else
\bgroup\let\fakesuperscript\FB@up@fake
\realsuperscript{\FB@lc{#1}}\egroup
@@ -2799,13 +2804,15 @@ return french_punctuation
% \cs{circonflexe}, \cs{tild}, \cs{boi} and \cs{degre} for
% Unicode based engines.}
%
+% \changes{v3.2g}{2017/01/24}{Changed Unicode definition of \cs{boi}.}
+%
% \begin{macrocode}
\ifFBunicode
- \newcommand*{\at}{{\char"0040}}
- \newcommand*{\circonflexe}{{\char"005E}}
- \newcommand*{\tild}{{\char"007E}}
- \newcommand*{\boi}{\textbackslash}
- \newcommand*{\degre}{{\char"00B0}}
+ \newcommand*{\at}{{\char"0040}}
+ \newcommand*{\circonflexe}{{\char"005E}}
+ \newcommand*{\tild}{{\char"007E}}
+ \newcommand*{\boi}{{\char"005C}}
+ \newcommand*{\degre}{{\char"00B0}}
\else
\ifLaTeXe
\DeclareTextSymbol{\at}{T1}{64}
@@ -2862,19 +2869,18 @@ return french_punctuation
\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}}
+ \def\Warning@degree@TSone{\FBWarning
+ {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}%
+ \DeclareRobustCommand*{\degres}{%
+ \leavevmode\hbox to 0.3em{\hss\degre\hss}%
+ \Warning@degree@TSone
+ \global\let\Warning@degree@TSone\relax}%
\else
- \DeclareRobustCommand*{\degres}{%
+ \DeclareRobustCommand*{\degres}{%
\hbox{\UseTextSymbol{TS1}{\textdegree}}}%
\fi
}
@@ -2987,11 +2993,11 @@ return french_punctuation
\let\LaTeXefalse\undefined}
\ifx\magnification\@undefined
\else
- \def\FBstop@here{\ifFB@luatex@punct
- \activate@luatexpunct
- \fi
- \FBclean@on@exit
- \ldf@quit\CurrentOption\endinput}
+ \def\FBstop@here{\ifFB@luatex@punct
+ \activate@luatexpunct
+ \fi
+ \FBclean@on@exit
+ \ldf@quit\CurrentOption\endinput}
\fi
\FBstop@here
% \end{macrocode}
@@ -3011,16 +3017,16 @@ return french_punctuation
\renewcommand*{\nombre}[1]{\Warning@nombre{#1}}
\newcommand*{\Warning@nombre}[1]{%
\ifdefined\numprint
- \numprint{#1}%
+ \numprint{#1}%
\else
- \PackageWarning{frenchb.ldf}{%
- \protect\nombre\space now relies on package numprint.sty,%
- \MessageBreak add \protect
- \usepackage[autolanguage]{numprint},\MessageBreak
- see file numprint.pdf for more options.\MessageBreak
- \protect\nombre\space called}%
- \global\let\Warning@nombre\relax
- {#1}%
+ \PackageWarning{frenchb.ldf}{%
+ \protect\nombre\space now relies on package numprint.sty,%
+ \MessageBreak add \protect
+ \usepackage[autolanguage]{numprint},\MessageBreak
+ see file numprint.pdf for more options.\MessageBreak
+ \protect\nombre\space called}%
+ \global\let\Warning@nombre\relax
+ {#1}%
\fi
}
% \end{macrocode}
@@ -3136,13 +3142,13 @@ return french_punctuation
% \begin{macrocode}
\AtEndOfPackage{%
\ifFB@koma
- \ifdefined\partformat
- \FB@addto{captions}{%
- \ifFBPartNameFull
- \babel@save\partformat
- \renewcommand*{\partformat}{\partname}%
- \fi}%
- \fi
+ \ifdefined\partformat
+ \FB@addto{captions}{%
+ \ifFBPartNameFull
+ \babel@save\partformat
+ \renewcommand*{\partformat}{\partname}%
+ \fi}%
+ \fi
\fi
}
% \end{macrocode}
@@ -3228,7 +3234,7 @@ return french_punctuation
% \begin{macrocode}
\newif\if@FBwarning@capsep
\@FBwarning@capseptrue
-\newcommand{\FBWarning}[2]{\PackageWarning{#1}{#2}}
+\newcommand{\FBWarning}[1]{\PackageWarning{frenchb.ldf}{#1}}
\newcommand*{\CaptionSeparator}{\space\textendash\space}
\def\FBCaption@Separator{: }
\long\def\FB@makecaption#1#2{%
@@ -3298,16 +3304,15 @@ return french_punctuation
% The \pkg{caption}, \pkg{subcaption} and \pkg{floatrow} packages are
% compatible with \frenchb{} if they are loaded after \babel{}.
%
-% Check if package \pkg{caption} is loaded now (before
-% \babel/\frenchb), then issue a warning advising to load it
-% after \babel/\frenchb{} and disable the standard warning.
+% Check if package \pkg{caption} is loaded now (before \frenchb),
+% then issue a warning advising to load it after \frenchb{} and
+% disable the standard warning.
% \begin{macrocode}
\@ifpackageloaded{caption}
- {\FBWarning{frenchb.ldf}%
- {Please load the "caption" package\MessageBreak
- AFTER babel/frenchb; reported}%
- \@FBwarning@capsepfalse}%
- {}
+ {\FBWarning{Please load the "caption" package\MessageBreak
+ AFTER babel/frenchb; reported}%
+ \@FBwarning@capsepfalse}%
+ {}
% \end{macrocode}
%
% \changes{v3.2b}{2016/03/30}{Warning added when the subcaption
@@ -3316,21 +3321,19 @@ return french_punctuation
% Same for package \pkg{subcaption}.
% \begin{macrocode}
\@ifpackageloaded{subcaption}
- {\FBWarning{frenchb.ldf}%
- {Please load the "subcaption" package\MessageBreak
- AFTER babel/frenchb; reported}%
- \@FBwarning@capsepfalse}%
- {}
+ {\FBWarning{Please load the "subcaption" package\MessageBreak
+ AFTER babel/frenchb; reported}%
+ \@FBwarning@capsepfalse}%
+ {}
% \end{macrocode}
%
% Same for package \pkg{floatrow}.
% \begin{macrocode}
\@ifpackageloaded{floatrow}
- {\FBWarning{frenchb.ldf}%
- {Please load the "floatrow" package\MessageBreak
- AFTER babel/frenchb; reported}%
- \@FBwarning@capsepfalse}%
- {}
+ {\FBWarning{Please load the "floatrow" package\MessageBreak
+ AFTER babel/frenchb; reported}%
+ \@FBwarning@capsepfalse}%
+ {}
% \end{macrocode}
%
% \changes{v3.0a}{2014/02/20}{More informative, less TeXnical warning
@@ -3348,25 +3351,25 @@ return french_punctuation
% \begin{macrocode}
\AtBeginDocument{%
\ifx\@makecaption\STD@makecaption
- \global\let\@makecaption\FB@makecaption
+ \global\let\@makecaption\FB@makecaption
% \end{macrocode}
% Do not overwrite |\FBCaption@Separator| if already saved
% as ': ' for other languages and set to |\CaptionSeparator| by
% |\extrasfrench| when French is the main language.
% \begin{macrocode}
- \ifFBOldFigTabCaptions
- \else
- \def\FBCaption@Separator{{\autospace@beforeFDP : }}%
- \fi
- \ifFBCustomiseFigTabCaptions
- \ifx\bbl@main@language\FB@french
- \def\FBCaption@Separator{\CaptionSeparator}%
- \fi
+ \ifFBOldFigTabCaptions
+ \else
+ \def\FBCaption@Separator{{\autospace@beforeFDP : }}%
+ \fi
+ \ifFBCustomiseFigTabCaptions
+ \ifx\bbl@main@language\FB@french
+ \def\FBCaption@Separator{\CaptionSeparator}%
\fi
- \@FBwarning@capsepfalse
+ \fi
+ \@FBwarning@capsepfalse
\fi
\if@FBwarning@capsep
- \FBWarning{frenchb.ldf}%
+ \FBWarning
{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
@@ -3443,36 +3446,55 @@ return french_punctuation
% numprint.sty after babel.}
%
% Like packages \file{captions} and \file{floatrow} (see
-% section~\ref{ssec-captions}), package \file{listings} should be
-% loaded after \babel/\frenchb{} due to active characters issues
+% section~\ref{ssec-captions}), package \file{listings} should
+% be loaded after \frenchb{} due to active characters issues
% (pdfLaTeX only).
%
% \begin{macrocode}
\ifFB@active@punct
\@ifpackageloaded{listings}
- {\FBWarning{frenchb.ldf}%
- {Please load the "listings" package\MessageBreak
- AFTER babel/frenchb; reported}%
+ {\FBWarning{Please load the "listings" package\MessageBreak
+ AFTER babel/frenchb; reported}%
}{}
\fi
% \end{macrocode}
%
-% Package \file{natbib} should be loaded before \babel/\frenchb{}
+% Package \file{natbib} should be loaded before \frenchb{}
% due to active characters issues (pdfLaTeX only).
%
% \begin{macrocode}
\newif\if@FBwarning@natbib
\ifFB@active@punct
- \@ifpackageloaded{natbib}{}{\@FBwarning@natbibtrue}
+ \@ifpackageloaded{natbib}{}{\@FBwarning@natbibtrue}
\fi
\AtBeginDocument{%
\if@FBwarning@natbib
- \@ifpackageloaded{natbib}{}{\@FBwarning@natbibfalse}%
+ \@ifpackageloaded{natbib}{}{\@FBwarning@natbibfalse}%
\fi
\if@FBwarning@natbib
- \FBWarning{frenchb.ldf}%
- {Please load the "natbib" package\MessageBreak
- BEFORE babel/frenchb; reported}%
+ \FBWarning{Please load the "natbib" package\MessageBreak
+ BEFORE babel/frenchb; reported}%
+ \fi
+}
+% \end{macrocode}
+%
+% \changes{v3.2g}{2017/01/30}{Issue a warning if beamerarticle.sty
+% is loaded after babel.}
+%
+% Package \pkg{beamerarticle} should be loaded before \frenchb{}
+% to avoid list’s conflicts, see p.~\pageref{beamerarticle}.
+%
+% \begin{macrocode}
+\newif\if@FBwarning@beamerarticle
+\@ifpackageloaded{beamerarticle}{}{\@FBwarning@beamerarticletrue}
+\AtBeginDocument{%
+ \if@FBwarning@beamerarticle
+ \@ifpackageloaded{beamerarticle}{}%
+ {\@FBwarning@beamerarticlefalse}%
+ \fi
+ \if@FBwarning@beamerarticle
+ \FBWarning{Please load the "beamerarticle" package\MessageBreak
+ BEFORE babel/frenchb; reported}%
\fi
}
% \end{macrocode}
@@ -3620,8 +3642,6 @@ return french_punctuation
% looking layout for the whole document (even in parts written in
% languages other than French); the end-user will then be able to
% customise the values of all these flags with \fbsetup{}.
-% When the \cls{beamer} is loaded, lists are not customised at all
-% to ensure compatibility.
%
% \changes{v2.5b}{2010/10/30}{Do not use the
% test \cs{iflanguage}\{french\} to check whether French is the
@@ -3631,9 +3651,23 @@ return french_punctuation
% In this case \cs{l@french} and \cs{l@english} are 0.
% Pointed out by Günter Milde.}
%
-% \changes{v3.0c}{2014/03/30}{Activate option StandardLists when beamer
+% \changes{v3.0c}{2014/03/30}{No list customisation when beamer
% class is loaded.}
%
+% \changes{v3.2g}{2017/01/30}{Minimal list customisation when
+% beamerarticle.sty is loaded.}
+%
+% Our list customisation conflicts with the \cls{beamer} class and
+% with the \pkg{beamerarticle} package. The patch provided in
+% \pkg{beamerbasecompatibility} solves the conflict except in case
+% of language changes, so we provide our own patch.
+% When the \cls{beamer} is loaded, lists are not customised at all
+% to ensure compatibility.\label{beamerarticle}
+% The \pkg{beamerarticle} package needs to be loaded \emph{before}
+% \babel, a warning is issued otherwise, see
+% section~\ref{ssec-loading-order}; a light customisation is
+% compatible with the \pkg{beamerarticle} package.
+%
% \begin{macrocode}
\edef\FB@french{\CurrentOption}
\AtEndOfPackage{%
@@ -3643,10 +3677,17 @@ return french_punctuation
{\PackageInfo{frenchb.ldf}{%
No list customisation for the beamer class,%
\MessageBreak reported}}%
- {\FBReduceListSpacingtrue
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \FBStandardItemLabelsfalse}%
+ {\@ifpackageloaded{beamerarticle}%
+ {\FBStandardItemLabelsfalse
+ \FBReduceListSpacingtrue
+ \PackageInfo{frenchb.ldf}{%
+ Minimal list customisation for the beamerarticle%
+ \MessageBreak package; reported}}%
+ {\FBReduceListSpacingtrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse}%
+ }
\FBIndentFirsttrue
\FBFrenchFootnotestrue
\FBAutoSpaceFootnotestrue
@@ -3662,112 +3703,112 @@ return french_punctuation
% \begin{macrocode}
\RequirePackage{keyval}%
\define@key{FB}{ShowOptions}[true]%
- {\csname FBShowOptions#1\endcsname}%
+ {\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}%
+ {\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
+ {\csname FBGlobalLayoutFrench#1\endcsname
% \end{macrocode}
% If this key is set to \fbo{true} when French is the main language,
% nothing to do: all flags keep their default value.
% If this key is set to \fbo{false}, nothing to do either:
% |\babel@save| will do the job.
% \begin{macrocode}
- \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}%
+ \ifFBGlobalLayoutFrench
+ \ifx\bbl@main@language\FB@french
+ \else
+ \PackageWarning{frenchb.ldf}%
+ {Option `GlobalLayoutFrench' skipped:\MessageBreak
+ French is *not* babel's last option.\MessageBreak
+ Reported}%
+ \fi
+ \fi}%
\define@key{FB}{ReduceListSpacing}[true]%
- {\csname FBReduceListSpacing#1\endcsname}%
+ {\csname FBReduceListSpacing#1\endcsname}%
\define@key{FB}{ListOldLayout}[true]%
- {\csname FBListOldLayout#1\endcsname
- \ifFBListOldLayout
- \FBStandardEnumerateEnvtrue
- \renewcommand*{\FrenchLabelItem}{\textendash}%
- \fi}%
+ {\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}%
+ {\csname FBCompactItemize#1\endcsname
+ \ifFBCompactItemize
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \else
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \fi}%
\define@key{FB}{StandardItemizeEnv}[true]%
- {\csname FBStandardItemizeEnv#1\endcsname}%
+ {\csname FBStandardItemizeEnv#1\endcsname}%
\define@key{FB}{StandardEnumerateEnv}[true]%
- {\csname FBStandardEnumerateEnv#1\endcsname}%
+ {\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}}%
+ {\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}%
+ {\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}%
+ {\csname FBIndentFirst#1\endcsname}%
\define@key{FB}{FrenchFootnotes}[true]%
- {\csname FBFrenchFootnotes#1\endcsname}%
+ {\csname FBFrenchFootnotes#1\endcsname}%
\define@key{FB}{AutoSpaceFootnotes}[true]%
- {\csname FBAutoSpaceFootnotes#1\endcsname}%
+ {\csname FBAutoSpaceFootnotes#1\endcsname}%
\define@key{FB}{AutoSpacePunctuation}[true]%
- {\csname FBAutoSpacePunctuation#1\endcsname}%
+ {\csname FBAutoSpacePunctuation#1\endcsname}%
\define@key{FB}{OriginalTypewriter}[true]%
- {\csname FBOriginalTypewriter#1\endcsname}%
+ {\csname FBOriginalTypewriter#1\endcsname}%
\define@key{FB}{ThinColonSpace}[true]%
- {\csname FBThinColonSpace#1\endcsname}%
+ {\csname FBThinColonSpace#1\endcsname}%
\define@key{FB}{ThinSpaceInFrenchNumbers}[true]%
- {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
+ {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
\define@key{FB}{FrenchSuperscripts}[true]%
- {\csname FBFrenchSuperscripts#1\endcsname}
+ {\csname FBFrenchSuperscripts#1\endcsname}
\define@key{FB}{LowercaseSuperscripts}[true]%
- {\csname FBLowercaseSuperscripts#1\endcsname}
+ {\csname FBLowercaseSuperscripts#1\endcsname}
\define@key{FB}{PartNameFull}[true]%
- {\csname FBPartNameFull#1\endcsname}%
+ {\csname FBPartNameFull#1\endcsname}%
\define@key{FB}{CustomiseFigTabCaptions}[true]%
{\csname FBCustomiseFigTabCaptions#1\endcsname}%
\define@key{FB}{OldFigTabCaptions}[true]%
@@ -3777,41 +3818,68 @@ return french_punctuation
% in |\FB@CurOpt| while reading \file{frenchb.ldf}.
% \begin{macrocode}
\ifFBOldFigTabCaptions
- \FB@addto{extras}{\babel@save\FBCaption@Separator
- \def\FBCaption@Separator{\CaptionSeparator}}%
+ \FB@addto{extras}{\babel@save\FBCaption@Separator
+ \def\FBCaption@Separator{\CaptionSeparator}}%
\fi}%
\define@key{FB}{SmallCapsFigTabCaptions}[true]%
{\csname FBSmallCapsFigTabCaptions#1\endcsname
\ifFBSmallCapsFigTabCaptions
- \let\FBfigtabshape\scshape
+ \let\FBfigtabshape\scshape
\else
- \let\FBfigtabshape\relax
+ \let\FBfigtabshape\relax
\fi}%
\define@key{FB}{SuppressWarning}[true]%
- {\csname FBSuppressWarning#1\endcsname
- \ifFBSuppressWarning
- \renewcommand{\FBWarning}[2]{\relax}%
- \fi}%
+ {\csname FBSuppressWarning#1\endcsname
+ \ifFBSuppressWarning
+ \renewcommand{\FBWarning}[1]{}%
+ \fi}%
% \end{macrocode}
% Here are the options controlling French guillemets spacing
% and the output of |\frquote{}|.
+%
+% \changes{v3.2g}{2017/01/30}{Warn when wrong values are provided to
+% options EveryParGuill or EveryLineGuill.}
+%
% \begin{macrocode}
\define@key{FB}{INGuillSpace}[true]%
- {\csname FBINGuillSpace#1\endcsname}%
+ {\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}%
+ {\csname FBInnerGuillSingle#1\endcsname}%
+ \define@key{FB}{EveryParGuill}[open]%
+ {\expandafter\let\expandafter
+ \FBeveryparguill\csname FBguill#1\endcsname
+ \ifx\FBeveryparguill\FBguillopen
+ \else\ifx\FBeveryparguill\FBguillclose
+ \else\ifx\FBeveryparguill\FBguillnone
+ \else
+ \let\FBeveryparguill\FBguillopen
+ \PackageWarning{frenchb.ldf}%
+ {Wrong value for `EveryParGuill':
+ try `open’,\MessageBreak
+ `close’ or `none’. Reported}%
+ \fi
+ \fi
+ \fi}%
+ \define@key{FB}{EveryLineGuill}[open]%
+ {\ifFB@luatex@punct
+ \expandafter\let\expandafter
+ \FBeverylineguill\csname FBguill#1\endcsname
+ \ifx\FBeverylineguill\FBguillopen
+ \else\ifx\FBeverylineguill\FBguillclose
+ \else\ifx\FBeverylineguill\FBguillnone
+ \else
+ \let\FBeverylineguill\FBguillnone
+ \FBWarning{Wrong value for `EveryLineGuill':
+ try `open’,\MessageBreak
+ `close’ or `none’. Reported}%
+ \fi
+ \fi
+ \fi
+ \else
+ \FBWarning{Option `EveryLineGuill' skipped:%
+ \MessageBreak this option is for
+ LuaTeX *only*.\MessageBreak Reported}%
+ \fi}%
% \end{macrocode}
% Inputing French quotes as \emph{single characters} when they are
% available on the keyboard (through a compose key for instance)
@@ -3853,138 +3921,140 @@ return french_punctuation
% XeTeX or LuaTeX engines requiring active characters.}
%
% \begin{macrocode}
- \define@key{FB}{og}{%
- \ifFBunicode
+ \define@key{FB}{og}%
+ {\ifFBunicode
% \end{macrocode}
% LuaTeX or XeTeX in use, first try modern LuaTeX: we just need
% to set LuaTeX's attribute |\FB@addGUILspace| to 1,
% \begin{macrocode}
- \ifFB@luatex@punct
- \FB@addGUILspace=1 \relax
- \fi
+ \ifFB@luatex@punct
+ \FB@addGUILspace=1 \relax
+ \fi
% \end{macrocode}
% then with XeTeX it is a bit more tricky:
% \begin{macrocode}
- \ifFB@xetex@punct
+ \ifFB@xetex@punct
% \end{macrocode}
% |\XeTeXinterchartokenstate| is defined, we just need to set
% |\XeTeXcharclass| to |\FB@guilo| for the French opening quote
% in T1 and Unicode encoding (see subsection~\ref{ssec-punct}).
% \begin{macrocode}
- \XeTeXcharclass"13 = \FB@guilo
- \XeTeXcharclass"AB = \FB@guilo
- \XeTeXcharclass"A0 = \FB@guilnul
- \XeTeXcharclass"202F = \FB@guilnul
- \fi
+ \XeTeXcharclass"13 = \FB@guilo
+ \XeTeXcharclass"AB = \FB@guilo
+ \XeTeXcharclass"A0 = \FB@guilnul
+ \XeTeXcharclass"202F = \FB@guilnul
+ \fi
% \end{macrocode}
% Issue a warning with older Unicode engines requiring active
% characters.
% \begin{macrocode}
- \ifFB@active@punct
- \FBWarning{frenchb.ldf}%
- {Option og=« not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
+ \ifFB@active@punct
+ \PackageWarning{frenchb.ldf}%
+ {Option og=« not supported with this version
+ of\MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
+ \else
% \end{macrocode}
% This is for conventional TeX engines:
% \begin{macrocode}
- \newcommand*{\FB@@og}{%
- \iflanguage{french}%
- {\ifFB@spacing\FB@og\ignorespaces
- \else\guillemotleft
- \fi}%
- {\guillemotleft}}%
- \AtBeginDocument{%
- \ifdefined\DeclareInputText
- \ifdefined\uc@dclc
+ \newcommand*{\FB@@og}{%
+ \iflanguage{french}%
+ {\ifFB@spacing\FB@og\ignorespaces
+ \else\guillemotleft
+ \fi}%
+ {\guillemotleft}}%
+ \AtBeginDocument{%
+ \ifdefined\DeclareInputText
+ \ifdefined\uc@dclc
% \end{macrocode}
% Package \pkg{inputenc} with utf8x encoding loaded, use |\uc@dclc|,
% \begin{macrocode}
- \uc@dclc{171}{default}{\FB@@og}%
- \else
+ \uc@dclc{171}{default}{\FB@@og}%
+ \else
% \end{macrocode}
% if encoding is not utf8x, try utf8\dots
% \begin{macrocode}
- \ifdefined\DeclareUnicodeCharacter
+ \ifdefined\DeclareUnicodeCharacter
% \end{macrocode}
% utf8 loaded, use |\DeclareUnicodeCharacter|,
% \begin{macrocode}
- \DeclareUnicodeCharacter{00AB}{\FB@@og}%
- \else
+ \DeclareUnicodeCharacter{00AB}{\FB@@og}%
+ \else
% \end{macrocode}
% if utf8 is not loaded either, we assume 8-bit character input
% encoding. Package \pkg{MULEenc} (from CJK) defines |\mule@def|
% to map characters to control sequences.
% \begin{macrocode}
- \@tempcnta`#1\relax
- \ifdefined\mule@def
- \mule@def{11}{\FB@@og}%
- \else
- \DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \@tempcnta`#1\relax
+ \ifdefined\mule@def
+ \mule@def{11}{\FB@@og}%
+ \else
+ \DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \fi
\fi
- \fi
- \fi
- \else
+ \fi
+ \else
% \end{macrocode}
% Package \pkg{inputenc} not loaded, no way\dots{}
% \begin{macrocode}
- \PackageWarning{frenchb.ldf}%
- {Option `og' requires package inputenc.\MessageBreak}%
+ \PackageWarning{frenchb.ldf}%
+ {Option `og' requires package inputenc;%
+ \MessageBreak reported}%
+ \fi
+ }%
\fi
- }%
- \fi
- }%
+ }%
% \end{macrocode}
%
% Same code for the closing quote.
% \begin{macrocode}
- \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
- \ifFB@active@punct
- \FBWarning{frenchb.ldf}%
- {Option fg=» not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
- \newcommand*{\FB@@fg}{%
- \iflanguage{french}%
- {\ifFB@spacing\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}%
+ \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
+ \ifFB@active@punct
+ \PackageWarning{frenchb.ldf}%
+ {Option fg=» not supported with this version
+ of\MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
+ \else
+ \newcommand*{\FB@@fg}{%
+ \iflanguage{french}%
+ {\ifFB@spacing\FB@fg
+ \else\guillemotright
+ \fi}%
+ {\guillemotright}}%
+ \AtBeginDocument{%
+ \ifdefined\DeclareInputText
+ \ifdefined\uc@dclc
+ \uc@dclc{187}{default}{\FB@@fg}%
\else
- \@tempcnta`#1\relax
+ \ifdefined\DeclareUnicodeCharacter
+ \DeclareUnicodeCharacter{00BB}{\FB@@fg}%
+ \else
+ \@tempcnta`#1\relax
\ifdefined\mule@def
- \mule@def{27}{{\FB@@fg}}%
+ \mule@def{27}{{\FB@@fg}}%
\else
- \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
+ \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
\fi
+ \fi
\fi
- \fi
- \else
- \PackageWarning{frenchb.ldf}%
- {Option `fg' requires package inputenc.\MessageBreak}%
+ \else
+ \PackageWarning{frenchb.ldf}%
+ {Option `fg' requires package inputenc;%
+ \MessageBreak reported}%
+ \fi
+ }%
\fi
- }%
- \fi
- }%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -4009,40 +4079,45 @@ return french_punctuation
\@ifpackageloaded{enumitem}{%
\ifFBStandardItemizeEnv
\else
- \FBStandardItemizeEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardItemizeEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardItemizeEnv=true for\MessageBreak
- compatibility with enumitem package,\MessageBreak}%
+ compatibility with enumitem package,\MessageBreak
+ reported}%
\fi
\ifFBStandardEnumerateEnv
\else
- \FBStandardEnumerateEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardEnumerateEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardEnumerateEnv=true for\MessageBreak
- compatibility with enumitem package,\MessageBreak}%
+ compatibility with enumitem package,\MessageBreak
+ reported}%
\fi}{}%
\@ifpackageloaded{paralist}{%
\ifFBStandardItemizeEnv
\else
- \FBStandardItemizeEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardItemizeEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardItemizeEnv=true for\MessageBreak
- compatibility with paralist package,\MessageBreak}%
+ compatibility with paralist package,\MessageBreak
+ reported}%
\fi
\ifFBStandardEnumerateEnv
\else
- \FBStandardEnumerateEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardEnumerateEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardEnumerateEnv=true for\MessageBreak
- compatibility with paralist package,\MessageBreak}%
+ compatibility with paralist package,\MessageBreak
+ reported}%
\fi}{}%
\@ifpackageloaded{enumerate}{%
\ifFBStandardEnumerateEnv
\else
- \FBStandardEnumerateEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardEnumerateEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardEnumerateEnv=true for\MessageBreak
- compatibility with enumerate package,\MessageBreak}%
+ compatibility with enumerate package,\MessageBreak
+ reported}%
\fi}{}%
% \end{macrocode}
% Reset |\FB@ufl|'s normal meaning and update lists' settings
@@ -4050,7 +4125,7 @@ return french_punctuation
% \begin{macrocode}
\def\FB@ufl{\update@frenchlists}
\ifx\bbl@main@language\FB@french
- \update@frenchlists
+ \update@frenchlists
\fi
% \end{macrocode}
% The layout of footnotes is handled at the |\begin{document}|
@@ -4063,9 +4138,9 @@ return french_punctuation
% been typed before them.
% \begin{macrocode}
\ifFBAutoSpacePunctuation
- \autospace@beforeFDP
+ \autospace@beforeFDP
\else
- \noautospace@beforeFDP
+ \noautospace@beforeFDP
\fi
% \end{macrocode}
% When \fbo{OriginalTypewriter} is set to \fbo{false} (the default),
@@ -4076,12 +4151,12 @@ return french_punctuation
% \begin{macrocode}
\ifFBOriginalTypewriter
\else
- \let\ttfamilyORI\ttfamily
- \let\rmfamilyORI\rmfamily
- \let\sffamilyORI\sffamily
- \let\ttfamily\ttfamilyFB
- \let\rmfamily\rmfamilyFB
- \let\sffamily\sffamilyFB
+ \let\ttfamilyORI\ttfamily
+ \let\rmfamilyORI\rmfamily
+ \let\sffamilyORI\sffamily
+ \let\ttfamily\ttfamilyFB
+ \let\rmfamily\rmfamilyFB
+ \let\sffamily\sffamilyFB
\fi
% \end{macrocode}
%
@@ -4093,9 +4168,9 @@ return french_punctuation
% \begin{macrocode}
\ifFBThinColonSpace
\ifFB@luatex@punct
- \FBcolonskip=\FBthinskip\relax
+ \FBcolonskip=\FBthinskip\relax
\else
- \renewcommand*{\FBcolonspace}{\FBthinspace}%
+ \renewcommand*{\FBcolonspace}{\FBthinspace}%
\fi
\fi
% \end{macrocode}
@@ -4105,9 +4180,9 @@ return french_punctuation
% \begin{macrocode}
\ifFBINGuillSpace
\ifFB@luatex@punct
- \FBguillskip=3.33pt plus 1.665pt minus 1.11pt \relax
+ \FBguillskip=3.33pt plus 1.665pt minus 1.11pt \relax
\else
- \renewcommand*{\FBguillspace}{\space}%
+ \renewcommand*{\FBguillspace}{\space}%
\fi
\fi
% \end{macrocode}
@@ -4181,12 +4256,12 @@ return french_punctuation
% \cls{beamer} classes.
% \begin{macrocode}
\ifFBCustomiseFigTabCaptions
- \ifFB@koma
- \renewcommand*{\captionformat}{\CaptionSeparator}%
- \fi
- \@ifclassloaded{memoir}%
+ \ifFB@koma
+ \renewcommand*{\captionformat}{\CaptionSeparator}%
+ \fi
+ \@ifclassloaded{memoir}%
{\captiondelim{\CaptionSeparator}}{}%
- \@ifclassloaded{beamer}%
+ \@ifclassloaded{beamer}%
{\defbeamertemplate{caption label separator}{FBcustom}{%
\CaptionSeparator}%
\setbeamertemplate{caption label separator}[FBcustom]}{}%
@@ -4196,17 +4271,17 @@ return french_punctuation
% behave properly in French: locally force |\autospace@beforeFDP| in
% case of \fbo{AutoSpacePunctuation=false}.
% \begin{macrocode}
- \ifFB@koma
- \renewcommand*{\captionformat}{{\autospace@beforeFDP : }}%
- \fi
- \@ifclassloaded{memoir}%
- {\captiondelim{{\autospace@beforeFDP : }}%
- }{}%
- \@ifclassloaded{beamer}%
- {\defbeamertemplate{caption label separator}{FBcolon}{%
+ \ifFB@koma
+ \renewcommand*{\captionformat}{{\autospace@beforeFDP : }}%
+ \fi
+ \@ifclassloaded{memoir}%
+ {\captiondelim{{\autospace@beforeFDP : }}%
+ }{}%
+ \@ifclassloaded{beamer}%
+ {\defbeamertemplate{caption label separator}{FBcolon}{%
{\autospace@beforeFDP : }}%
- \setbeamertemplate{caption label separator}[FBcolon]%
- }{}%
+ \setbeamertemplate{caption label separator}[FBcolon]%
+ }{}%
\fi
% \end{macrocode}
% \fbo{ShowOptions}: if \fbo{true}, print the list of all options
@@ -4285,10 +4360,13 @@ return french_punctuation
% \changes{v2.5g}{2011/11/13}{Redefine \cs{degre}, \cs{degres} \cs{at}
% \cs{circonflexe} and \cs{tild} for bookmarks. Add \cs{fup} also.}
%
+% \changes{v3.2g}{2017/01/24}{Add \cs{boi} to redefinitions for
+% bookmarks.}
+%
% Let's redefine some commands in \file{hyperref}'s bookmarks.
% \begin{macrocode}
\ifdefined\pdfstringdefDisableCommands
- \pdfstringdefDisableCommands{%
+ \pdfstringdefDisableCommands{%
\let\up\relax
\let\fup\relax
\let\degre\textdegree
@@ -4310,8 +4388,9 @@ return french_punctuation
\def\at{@}%
\def\circonflexe{\string^}%
\def\tild{\string~}%
+ \def\boi{\textbackslash}%
\let\bsc\textsc
- }%
+ }%
\fi
% \end{macrocode}
% It is time to process the options set with \fbsetup{} or later.
@@ -4332,34 +4411,36 @@ return french_punctuation
% \changes{v3.1a}{2014/06/14}{fontspec is not required for T1 fonts
% used with the luainputenc.sty package.}
%
+% \changes{v3.2g}{2017/01/24}{fontspec defines TU encoding now and
+% no longer loads xunicode.sty. Test changed.}
+%
% Some warnings are issued when output font encodings are not
-% properly set. With XeLaTeX or LuaLaTeX, \file{fontspec.sty} and
-% \file{xunicode.sty} should be loaded unless T1 encoded fonts are
-% used through \file{luainputenc}, in the latter case |\FB@og| and
-% |\FB@fg| have to be redefined; with (pdf)\LaTeX, a warning
-% is issued when OT1 encoding is in use at the |\begin{document}|.
+% properly set. With XeLaTeX or LuaLaTeX, \file{fontspec.sty}
+% should be loaded unless T1 encoded fonts are used through
+% \file{luainputenc}, in the latter case |\FB@og| and |\FB@fg|
+% have to be redefined; with (pdf)\LaTeX, a warning is issued
+% when OT1 encoding is in use at the |\begin{document}|.
% Mind that |\encodingdefault| is defined as `long', defining
% |\FBOTone| with |\newcommand*| would fail!
% \begin{macrocode}
\ifFBunicode
- \ifdefined\DeclareUTFcharacter
- \else
- \@ifpackageloaded{luainputenc}{}%
- {\PackageWarning{frenchb.ldf}%
- {Add \protect\usepackage{fontspec} to the\MessageBreak
- preamble of your document,}%
- }%
- \fi
+ \@ifpackageloaded{fontspec}{}%
+ {\@ifpackageloaded{luainputenc}{}%
+ {\PackageWarning{frenchb.ldf}%
+ {Add \protect\usepackage{fontspec} to the\MessageBreak
+ preamble of your document, reported}%
+ }%
+ }
\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
+ \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; reported}%
+ \fi
+ \endgroup
\fi
}
% \end{macrocode}
@@ -4533,21 +4614,21 @@ return french_punctuation
% \begin{macrocode}
\def\FB@itemizesettings{%
\ifFBReduceListSpacing
- \setlength{\itemsep}{\z@}%
- \setlength{\parsep}{\z@}%
- \setlength{\topsep}{\z@}%
- \setlength{\partopsep}{\z@}%
- \@tempdima=\parskip
- \addtolength{\topsep}{-\@tempdima}%
- \addtolength{\partopsep}{\@tempdima}%
+ \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}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \addtolength{\leftmargin}{\parindent}%
\else
- \FB@listHsettings
+ \FB@listHsettings
\fi
}
% \end{macrocode}
@@ -4694,7 +4775,7 @@ return french_punctuation
}
\def\bbl@nonfrenchlistlayout{%
\ifFBGlobalLayoutFrench
- \update@frenchlists
+ \update@frenchlists
\fi
}
\FB@addto{extras}{\bbl@frenchlistlayout}
@@ -4725,14 +4806,14 @@ return french_punctuation
\def\bbl@frenchindent{%
\ifFBGlobalLayoutFrench\else\babel@save\@afterindentfalse\fi
\ifFBIndentFirst
- \let\@afterindentfalse\@afterindenttrue
- \@afterindenttrue
+ \let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue
\fi}
\def\bbl@nonfrenchindent{%
\ifFBGlobalLayoutFrench
- \ifFBIndentFirst
- \@afterindenttrue
- \fi
+ \ifFBIndentFirst
+ \@afterindenttrue
+ \fi
\fi}
\FB@addto{extras}{\bbl@frenchindent}
\FB@addto{noextras}{\bbl@nonfrenchindent}
@@ -4770,14 +4851,14 @@ return french_punctuation
% controlled by flag |\ifFBAutoSpaceFootnotes|.
%
% \changes{v2.4a}{2009/11/23}{\cs{PackageWarning} changed to
-% \cs{FBWarning} (when bigfoot package in use).}
+% \cs{PackageInfo} (when bigfoot package in use).}
%
% \begin{macrocode}
\AtBeginDocument{\@ifpackageloaded{bigfoot}%
{\PackageInfo{frenchb.ldf}%
{bigfoot package in use.\MessageBreak
- frenchb will NOT customise footnotes;\MessageBreak
- reported}}%
+ frenchb will NOT customise footnotes;%
+ \MessageBreak reported}}%
{\let\@footnotemarkORI\@footnotemark
\def\@footnotemarkFB{\leavevmode\unskip\unkern
\,\@footnotemarkORI}%
@@ -4835,30 +4916,30 @@ return french_punctuation
% |\@@makefnmark|. First, save the original definitions.
% \begin{macrocode}
\ifFB@koma
- \let\@makefntextORI\@makefntext
- \let\@@makefnmarkORI\@@makefnmark
+ \let\@makefntextORI\@makefntext
+ \let\@@makefnmarkORI\@@makefnmark
% \end{macrocode}
% |\@makefntextFB| and |\@@makefnmarkFB| will be used when option
% \fbo{FrenchFootnotes} is \fbo{true}.
% \begin{macrocode}
- \deffootnote[\FBfnindent]{0pt}{\parindentFFN}%
- {\thefootnotemark\dotFFN\kernFFN}
- \let\@makefntextFB\@makefntext
- \let\@@makefnmarkFB\@@makefnmark
+ \deffootnote[\FBfnindent]{0pt}{\parindentFFN}%
+ {\thefootnotemark\dotFFN\kernFFN}
+ \let\@makefntextFB\@makefntext
+ \let\@@makefnmarkFB\@@makefnmark
% \end{macrocode}
% |\@makefntextTH| and |\@@makefnmarkTH| are meant for the
% |\thanks| command used by |\maketitle| when \fbo{FrenchFootnotes}
% is \fbo{true}.
% \begin{macrocode}
- \deffootnote[\parindentFFN]{0pt}{\parindentFFN}%
- {\textsuperscript{\thefootnotemark}}
- \let\@makefntextTH\@makefntext
- \let\@@makefnmarkTH\@@makefnmark
+ \deffootnote[\parindentFFN]{0pt}{\parindentFFN}%
+ {\textsuperscript{\thefootnotemark}}
+ \let\@makefntextTH\@makefntext
+ \let\@@makefnmarkTH\@@makefnmark
% \end{macrocode}
% Restore the original definitions.
% \begin{macrocode}
- \let\@makefntext\@makefntextORI
- \let\@@makefnmark\@@makefnmarkORI
+ \let\@makefntext\@makefntextORI
+ \let\@@makefnmark\@@makefnmarkORI
\fi
% \end{macrocode}
% Definitions for the \cls{memoir} class:
@@ -4921,70 +5002,70 @@ return french_punctuation
% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{bigfoot}{}%
- {\ifdim\parindentFFN<10in
- \else
- \parindentFFN=\parindent
- \ifdim\parindentFFN<1.5em \parindentFFN=1.5em \fi
- \fi
- \settowidth{\FBfnindent}{\dotFFN\kernFFN}%
- \addtolength{\FBfnindent}{\parindentFFN}%
- \let\@makefntextORI\@makefntext
- \ifFB@koma
+ {\ifdim\parindentFFN<10in
+ \else
+ \parindentFFN=\parindent
+ \ifdim\parindentFFN<1.5em \parindentFFN=1.5em \fi
+ \fi
+ \settowidth{\FBfnindent}{\dotFFN\kernFFN}%
+ \addtolength{\FBfnindent}{\parindentFFN}%
+ \let\@makefntextORI\@makefntext
+ \ifFB@koma
% \end{macrocode}
% Definition of |\@makefntext| for koma-script classes:
% \begin{macrocode}
- \let\@@makefnmarkORI\@@makefnmark
- \long\def\@makefntext#1{%
- \ifFBFrenchFootnotes
- \ifx\footnote\thanks
- \let\@@makefnmark\@@makefnmarkTH
- \@makefntextTH{#1}%
- \else
- \let\@@makefnmark\@@makefnmarkFB
- \@makefntextFB{#1}%
- \fi
- \else
- \let\@@makefnmark\@@makefnmarkORI
- \@makefntextORI{#1}%
- \fi}%
- \else
+ \let\@@makefnmarkORI\@@makefnmark
+ \long\def\@makefntext#1{%
+ \ifFBFrenchFootnotes
+ \ifx\footnote\thanks
+ \let\@@makefnmark\@@makefnmarkTH
+ \@makefntextTH{#1}%
+ \else
+ \let\@@makefnmark\@@makefnmarkFB
+ \@makefntextFB{#1}%
+ \fi
+ \else
+ \let\@@makefnmark\@@makefnmarkORI
+ \@makefntextORI{#1}%
+ \fi}%
+ \else
% \end{macrocode}
% Special add-on for the \cls{memoir} class: |\maketitle| redefines
% |\@makefntext| as |\makethanksmark| which is customised as follows
% to match the other notes' vertical alignment.
% \begin{macrocode}
- \@ifclassloaded{memoir}%
- {\ifFBFrenchFootnotes
- \setlength{\thanksmarkwidth}{\parindentFFN}%
- \setlength{\thanksmarksep}{-\thanksmarkwidth}%
- \fi
- }{}%
+ \@ifclassloaded{memoir}%
+ {\ifFBFrenchFootnotes
+ \setlength{\thanksmarkwidth}{\parindentFFN}%
+ \setlength{\thanksmarksep}{-\thanksmarkwidth}%
+ \fi
+ }{}%
% \end{macrocode}
% Special add-on for the \cls{beamer} class: issue a warning
% in case |\parindentFFN| has been changed.
% \begin{macrocode}
- \@ifclassloaded{beamer}%
- {\ifFBFrenchFootnotes
- \ifdim\parindentFFN=1.5em\else
- \FBWarning{frenchb}{%
+ \@ifclassloaded{beamer}%
+ {\ifFBFrenchFootnotes
+ \ifdim\parindentFFN=1.5em\else
+ \FBWarning{%
\protect\parindentFFN\space is ineffective%
- \MessageBreak within the beamer class.\MessageBreak
- Reported}%
- \fi
- \fi
- }{}%
+ \MessageBreak within the beamer class.%
+ \MessageBreak Reported}%
+ \fi
+ \fi
+ }{}%
% \end{macrocode}
% Definition of |\@makefntext| for all classes other than
% koma-script:
% \begin{macrocode}
- \long\def\@makefntext#1{%
+ \long\def\@makefntext#1{%
\ifFBFrenchFootnotes
\@makefntextFB{#1}%
\else
\@makefntextORI{#1}%
\fi}%
- \fi
- }%
+ \fi
+ }%
}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
index 0171d82eebf..1d689979bc8 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
@@ -33,7 +33,7 @@
%% extension .ins) which are part of the distribution.
%%
\ProvidesLanguage{frenchb}
- [2017/01/15 v3.2f French support from the babel system]
+ [2017/01/30 v3.2g French support from the babel system]
%%
%% File `frenchb.ldf'
%% Babel package for LaTeX version 2e
@@ -455,10 +455,10 @@
\ifLaTeXe
\else
\ifFBunicode
- \def\guillemotleft{{\char"00AB}}
- \def\guillemotright{{\char"00BB}}
- \def\textquotedblleft{{\char"201C}}
- \def\textquotedblright{{\char"201D}}
+ \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$}}
@@ -523,19 +523,15 @@
\newif\ifFBInnerGuillSingle
\def\FBguillopen{\bgroup\NoAutoSpacing\guillemotleft\egroup}
\def\FBguillclose{\bgroup\NoAutoSpacing\guillemotright\egroup}
-\let\FBguillnone\relax
+\let\FBguillnone\empty
\let\FBeveryparguill\FBguillopen
-\ifFB@luatex@punct
- \let\FBeverylineguill\FBguillopen
-\else
- \let\FBeverylineguill\FBguillnone
-\fi
+\let\FBeverylineguill\FBguillnone
\ifLaTeXe
- \DeclareRobustCommand\frquote{%
+ \DeclareRobustCommand\frquote{%
\@ifstar{\FBcloseguillfalse\fr@quote}%
{\FBcloseguilltrue\fr@quote}}
\else
- \newcommand\frquote[1]{\fr@quote{#1}}
+ \newcommand\frquote[1]{\fr@quote{#1}}
\fi
\newcommand{\fr@quote}[1]{%
\leavevmode
@@ -544,7 +540,7 @@
\ifcase\FBguill@level
\or
\FB@everypar=\everypar
- \ifx\FBeveryparguill\relax
+ \ifx\FBeveryparguill\FBguillnone
\else
\def\FBeverypar@quote{\FBeveryparguill\FB@quotespace}%
\everypar=\expandafter{\the\everypar \FBeverypar@quote}%
@@ -552,44 +548,44 @@
\ogi #1\fgi
\or
\ifx\FBeverylineguill\FBguillopen
- \localleftbox{\guillemotleft\FB@quotespace}%
- \let\FBeverypar@quote\relax
- \ogi #1\ifFBcloseguill\fgi\fi
+ \localleftbox{\guillemotleft\FB@quotespace}%
+ \let\FBeverypar@quote\relax
+ \ogi #1\ifFBcloseguill\fgi\fi
\else
\ifx\FBeverylineguill\FBguillclose
- \localleftbox{\guillemotright\FB@quotespace}%
- \let\FBeverypar@quote\relax
- \ogi #1\ifFBcloseguill\fgi\fi
+ \localleftbox{\guillemotright\FB@quotespace}%
+ \let\FBeverypar@quote\relax
+ \ogi #1\ifFBcloseguill\fgi\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\FB@quotespace}%
- \fi
- \ifx\FBeveryparguill\FBguillclose
- \def\FBeverypar@quote{\guilsinglright\FB@quotespace}%
- \fi
- \fi
- \ogii #1\ifFBcloseguill \fgii \fi
+ \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\FB@quotespace}%
+ \fi
+ \ifx\FBeveryparguill\FBguillclose
+ \def\FBeverypar@quote{\guilsinglright\FB@quotespace}%
+ \fi
+ \fi
+ \ogii #1\ifFBcloseguill \fgii \fi
\fi
\fi
\else
- \ifx\PackageWarning\@undefined
- \fb@warning{\noexpand\frquote\space accepts no more than
- two levels.\\ Quotation not printed.}%
- \else
- \PackageWarning{frenchb.ldf}{%
- \protect\frquote\space accepts no more than two levels
- \MessageBreak Quotation not printed. Reported}
- \fi
+ \ifx\PackageWarning\@undefined
+ \fb@warning{\noexpand\frquote\space accepts no more than
+ two levels.\\ Quotation not printed.}%
+ \else
+ \PackageWarning{frenchb.ldf}{%
+ \protect\frquote\space accepts no more than two levels
+ \MessageBreak Quotation not printed. Reported}
+ \fi
\fi
\advance\FBguill@level by \m@ne
\ifx\FBeverylineguill\FBguillnone\else\localleftbox{}\fi
- \ifx\FBeveryparguill\relax\else\everypar=\FB@everypar\fi
+ \ifx\FBeveryparguill\FBguillnone\else\everypar=\FB@everypar\fi
}
\ifLaTeXe
\def\BabelLanguages{french,acadian}
@@ -660,7 +656,7 @@
\fontfamily{\FB@firstthree -sup}\selectfont \FB@lc{#1}\egroup}
\DeclareRobustCommand*{\fup}[1]{%
\ifx\realsuperscript\@undefined
- \FB@up{#1}%
+ \FB@up{#1}%
\else
\bgroup\let\fakesuperscript\FB@up@fake
\realsuperscript{\FB@lc{#1}}\egroup
@@ -695,11 +691,11 @@
\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}}
+ \newcommand*{\at}{{\char"0040}}
+ \newcommand*{\circonflexe}{{\char"005E}}
+ \newcommand*{\tild}{{\char"007E}}
+ \newcommand*{\boi}{{\char"005C}}
+ \newcommand*{\degre}{{\char"00B0}}
\else
\ifLaTeXe
\DeclareTextSymbol{\at}{T1}{64}
@@ -728,19 +724,18 @@
\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}}
+ \def\Warning@degree@TSone{\FBWarning
+ {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}%
+ \DeclareRobustCommand*{\degres}{%
+ \leavevmode\hbox to 0.3em{\hss\degre\hss}%
+ \Warning@degree@TSone
+ \global\let\Warning@degree@TSone\relax}%
\else
- \DeclareRobustCommand*{\degres}{%
+ \DeclareRobustCommand*{\degres}{%
\hbox{\UseTextSymbol{TS1}{\textdegree}}}%
\fi
}
@@ -801,26 +796,26 @@
\let\LaTeXefalse\undefined}
\ifx\magnification\@undefined
\else
- \def\FBstop@here{\ifFB@luatex@punct
- \activate@luatexpunct
- \fi
- \FBclean@on@exit
- \ldf@quit\CurrentOption\endinput}
+ \def\FBstop@here{\ifFB@luatex@punct
+ \activate@luatexpunct
+ \fi
+ \FBclean@on@exit
+ \ldf@quit\CurrentOption\endinput}
\fi
\FBstop@here
\renewcommand*{\nombre}[1]{\Warning@nombre{#1}}
\newcommand*{\Warning@nombre}[1]{%
\ifdefined\numprint
- \numprint{#1}%
+ \numprint{#1}%
\else
- \PackageWarning{frenchb.ldf}{%
- \protect\nombre\space now relies on package numprint.sty,%
- \MessageBreak add \protect
- \usepackage[autolanguage]{numprint},\MessageBreak
- see file numprint.pdf for more options.\MessageBreak
- \protect\nombre\space called}%
- \global\let\Warning@nombre\relax
- {#1}%
+ \PackageWarning{frenchb.ldf}{%
+ \protect\nombre\space now relies on package numprint.sty,%
+ \MessageBreak add \protect
+ \usepackage[autolanguage]{numprint},\MessageBreak
+ see file numprint.pdf for more options.\MessageBreak
+ \protect\nombre\space called}%
+ \global\let\Warning@nombre\relax
+ {#1}%
\fi
}
\ifx\FBfigtabshape\@undefined \let\FBfigtabshape\scshape \fi
@@ -877,13 +872,13 @@
\EndBabelCommands
\AtEndOfPackage{%
\ifFB@koma
- \ifdefined\partformat
- \FB@addto{captions}{%
- \ifFBPartNameFull
- \babel@save\partformat
- \renewcommand*{\partformat}{\partname}%
- \fi}%
- \fi
+ \ifdefined\partformat
+ \FB@addto{captions}{%
+ \ifFBPartNameFull
+ \babel@save\partformat
+ \renewcommand*{\partformat}{\partname}%
+ \fi}%
+ \fi
\fi
}
\bgroup
@@ -901,7 +896,7 @@
\egroup
\newif\if@FBwarning@capsep
\@FBwarning@capseptrue
-\newcommand{\FBWarning}[2]{\PackageWarning{#1}{#2}}
+\newcommand{\FBWarning}[1]{\PackageWarning{frenchb.ldf}{#1}}
\newcommand*{\CaptionSeparator}{\space\textendash\space}
\def\FBCaption@Separator{: }
\long\def\FB@makecaption#1#2{%
@@ -930,39 +925,36 @@
\@ifclassloaded{beamer}{\@FBwarning@capsepfalse}{}
\ifdefined\@makecaption\else\@FBwarning@capsepfalse\fi
\@ifpackageloaded{caption}
- {\FBWarning{frenchb.ldf}%
- {Please load the "caption" package\MessageBreak
- AFTER babel/frenchb; reported}%
- \@FBwarning@capsepfalse}%
- {}
+ {\FBWarning{Please load the "caption" package\MessageBreak
+ AFTER babel/frenchb; reported}%
+ \@FBwarning@capsepfalse}%
+ {}
\@ifpackageloaded{subcaption}
- {\FBWarning{frenchb.ldf}%
- {Please load the "subcaption" package\MessageBreak
- AFTER babel/frenchb; reported}%
- \@FBwarning@capsepfalse}%
- {}
+ {\FBWarning{Please load the "subcaption" 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}%
- {}
+ {\FBWarning{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{{\autospace@beforeFDP : }}%
- \fi
- \ifFBCustomiseFigTabCaptions
- \ifx\bbl@main@language\FB@french
- \def\FBCaption@Separator{\CaptionSeparator}%
- \fi
+ \global\let\@makecaption\FB@makecaption
+ \ifFBOldFigTabCaptions
+ \else
+ \def\FBCaption@Separator{{\autospace@beforeFDP : }}%
+ \fi
+ \ifFBCustomiseFigTabCaptions
+ \ifx\bbl@main@language\FB@french
+ \def\FBCaption@Separator{\CaptionSeparator}%
\fi
- \@FBwarning@capsepfalse
+ \fi
+ \@FBwarning@capsepfalse
\fi
\if@FBwarning@capsep
- \FBWarning{frenchb.ldf}%
+ \FBWarning
{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
@@ -989,23 +981,33 @@
\FB@addto{extras}{\bbl@frenchdots}
\ifFB@active@punct
\@ifpackageloaded{listings}
- {\FBWarning{frenchb.ldf}%
- {Please load the "listings" package\MessageBreak
- AFTER babel/frenchb; reported}%
+ {\FBWarning{Please load the "listings" package\MessageBreak
+ AFTER babel/frenchb; reported}%
}{}
\fi
\newif\if@FBwarning@natbib
\ifFB@active@punct
- \@ifpackageloaded{natbib}{}{\@FBwarning@natbibtrue}
+ \@ifpackageloaded{natbib}{}{\@FBwarning@natbibtrue}
\fi
\AtBeginDocument{%
\if@FBwarning@natbib
- \@ifpackageloaded{natbib}{}{\@FBwarning@natbibfalse}%
+ \@ifpackageloaded{natbib}{}{\@FBwarning@natbibfalse}%
\fi
\if@FBwarning@natbib
- \FBWarning{frenchb.ldf}%
- {Please load the "natbib" package\MessageBreak
- BEFORE babel/frenchb; reported}%
+ \FBWarning{Please load the "natbib" package\MessageBreak
+ BEFORE babel/frenchb; reported}%
+ \fi
+}
+\newif\if@FBwarning@beamerarticle
+\@ifpackageloaded{beamerarticle}{}{\@FBwarning@beamerarticletrue}
+\AtBeginDocument{%
+ \if@FBwarning@beamerarticle
+ \@ifpackageloaded{beamerarticle}{}%
+ {\@FBwarning@beamerarticlefalse}%
+ \fi
+ \if@FBwarning@beamerarticle
+ \FBWarning{Please load the "beamerarticle" package\MessageBreak
+ BEFORE babel/frenchb; reported}%
\fi
}
\newcommand*{\frenchbsetup}[1]{%
@@ -1044,10 +1046,17 @@
{\PackageInfo{frenchb.ldf}{%
No list customisation for the beamer class,%
\MessageBreak reported}}%
- {\FBReduceListSpacingtrue
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \FBStandardItemLabelsfalse}%
+ {\@ifpackageloaded{beamerarticle}%
+ {\FBStandardItemLabelsfalse
+ \FBReduceListSpacingtrue
+ \PackageInfo{frenchb.ldf}{%
+ Minimal list customisation for the beamerarticle%
+ \MessageBreak package; reported}}%
+ {\FBReduceListSpacingtrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse}%
+ }
\FBIndentFirsttrue
\FBFrenchFootnotestrue
\FBAutoSpaceFootnotestrue
@@ -1057,304 +1066,334 @@
\fi
\RequirePackage{keyval}%
\define@key{FB}{ShowOptions}[true]%
- {\csname FBShowOptions#1\endcsname}%
+ {\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}%
+ {\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}%
+ {\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
+ Reported}%
+ \fi
+ \fi}%
\define@key{FB}{ReduceListSpacing}[true]%
- {\csname FBReduceListSpacing#1\endcsname}%
+ {\csname FBReduceListSpacing#1\endcsname}%
\define@key{FB}{ListOldLayout}[true]%
- {\csname FBListOldLayout#1\endcsname
- \ifFBListOldLayout
- \FBStandardEnumerateEnvtrue
- \renewcommand*{\FrenchLabelItem}{\textendash}%
- \fi}%
+ {\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}%
+ {\csname FBCompactItemize#1\endcsname
+ \ifFBCompactItemize
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \else
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \fi}%
\define@key{FB}{StandardItemizeEnv}[true]%
- {\csname FBStandardItemizeEnv#1\endcsname}%
+ {\csname FBStandardItemizeEnv#1\endcsname}%
\define@key{FB}{StandardEnumerateEnv}[true]%
- {\csname FBStandardEnumerateEnv#1\endcsname}%
+ {\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}}%
+ {\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}%
+ {\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}%
+ {\csname FBIndentFirst#1\endcsname}%
\define@key{FB}{FrenchFootnotes}[true]%
- {\csname FBFrenchFootnotes#1\endcsname}%
+ {\csname FBFrenchFootnotes#1\endcsname}%
\define@key{FB}{AutoSpaceFootnotes}[true]%
- {\csname FBAutoSpaceFootnotes#1\endcsname}%
+ {\csname FBAutoSpaceFootnotes#1\endcsname}%
\define@key{FB}{AutoSpacePunctuation}[true]%
- {\csname FBAutoSpacePunctuation#1\endcsname}%
+ {\csname FBAutoSpacePunctuation#1\endcsname}%
\define@key{FB}{OriginalTypewriter}[true]%
- {\csname FBOriginalTypewriter#1\endcsname}%
+ {\csname FBOriginalTypewriter#1\endcsname}%
\define@key{FB}{ThinColonSpace}[true]%
- {\csname FBThinColonSpace#1\endcsname}%
+ {\csname FBThinColonSpace#1\endcsname}%
\define@key{FB}{ThinSpaceInFrenchNumbers}[true]%
- {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
+ {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
\define@key{FB}{FrenchSuperscripts}[true]%
- {\csname FBFrenchSuperscripts#1\endcsname}
+ {\csname FBFrenchSuperscripts#1\endcsname}
\define@key{FB}{LowercaseSuperscripts}[true]%
- {\csname FBLowercaseSuperscripts#1\endcsname}
+ {\csname FBLowercaseSuperscripts#1\endcsname}
\define@key{FB}{PartNameFull}[true]%
- {\csname FBPartNameFull#1\endcsname}%
+ {\csname FBPartNameFull#1\endcsname}%
\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}}%
+ \FB@addto{extras}{\babel@save\FBCaption@Separator
+ \def\FBCaption@Separator{\CaptionSeparator}}%
\fi}%
\define@key{FB}{SmallCapsFigTabCaptions}[true]%
{\csname FBSmallCapsFigTabCaptions#1\endcsname
\ifFBSmallCapsFigTabCaptions
- \let\FBfigtabshape\scshape
+ \let\FBfigtabshape\scshape
\else
- \let\FBfigtabshape\relax
+ \let\FBfigtabshape\relax
\fi}%
\define@key{FB}{SuppressWarning}[true]%
- {\csname FBSuppressWarning#1\endcsname
- \ifFBSuppressWarning
- \renewcommand{\FBWarning}[2]{\relax}%
- \fi}%
+ {\csname FBSuppressWarning#1\endcsname
+ \ifFBSuppressWarning
+ \renewcommand{\FBWarning}[1]{}%
+ \fi}%
\define@key{FB}{INGuillSpace}[true]%
- {\csname FBINGuillSpace#1\endcsname}%
+ {\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
- \ifFB@active@punct
- \FBWarning{frenchb.ldf}%
- {Option og=« not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
- \newcommand*{\FB@@og}{%
- \iflanguage{french}%
- {\ifFB@spacing\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}%
+ {\csname FBInnerGuillSingle#1\endcsname}%
+ \define@key{FB}{EveryParGuill}[open]%
+ {\expandafter\let\expandafter
+ \FBeveryparguill\csname FBguill#1\endcsname
+ \ifx\FBeveryparguill\FBguillopen
+ \else\ifx\FBeveryparguill\FBguillclose
+ \else\ifx\FBeveryparguill\FBguillnone
+ \else
+ \let\FBeveryparguill\FBguillopen
+ \PackageWarning{frenchb.ldf}%
+ {Wrong value for `EveryParGuill':
+ try `open’,\MessageBreak
+ `close’ or `none’. Reported}%
+ \fi
+ \fi
+ \fi}%
+ \define@key{FB}{EveryLineGuill}[open]%
+ {\ifFB@luatex@punct
+ \expandafter\let\expandafter
+ \FBeverylineguill\csname FBguill#1\endcsname
+ \ifx\FBeverylineguill\FBguillopen
+ \else\ifx\FBeverylineguill\FBguillclose
+ \else\ifx\FBeverylineguill\FBguillnone
+ \else
+ \let\FBeverylineguill\FBguillnone
+ \FBWarning{Wrong value for `EveryLineGuill':
+ try `open’,\MessageBreak
+ `close’ or `none’. Reported}%
+ \fi
+ \fi
+ \fi
+ \else
+ \FBWarning{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
+ \ifFB@active@punct
+ \PackageWarning{frenchb.ldf}%
+ {Option og=« not supported with this version
+ of\MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
+ \else
+ \newcommand*{\FB@@og}{%
+ \iflanguage{french}%
+ {\ifFB@spacing\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
- \DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \@tempcnta`#1\relax
+ \ifdefined\mule@def
+ \mule@def{11}{\FB@@og}%
+ \else
+ \DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \fi
\fi
- \fi
- \fi
- \else
- \PackageWarning{frenchb.ldf}%
- {Option `og' requires package inputenc.\MessageBreak}%
+ \fi
+ \else
+ \PackageWarning{frenchb.ldf}%
+ {Option `og' requires package inputenc;%
+ \MessageBreak reported}%
+ \fi
+ }%
\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
- \ifFB@active@punct
- \FBWarning{frenchb.ldf}%
- {Option fg=» not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
- \newcommand*{\FB@@fg}{%
- \iflanguage{french}%
- {\ifFB@spacing\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}%
+ }%
+ \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
+ \ifFB@active@punct
+ \PackageWarning{frenchb.ldf}%
+ {Option fg=» not supported with this version
+ of\MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
+ \else
+ \newcommand*{\FB@@fg}{%
+ \iflanguage{french}%
+ {\ifFB@spacing\FB@fg
+ \else\guillemotright
+ \fi}%
+ {\guillemotright}}%
+ \AtBeginDocument{%
+ \ifdefined\DeclareInputText
+ \ifdefined\uc@dclc
+ \uc@dclc{187}{default}{\FB@@fg}%
\else
- \@tempcnta`#1\relax
+ \ifdefined\DeclareUnicodeCharacter
+ \DeclareUnicodeCharacter{00BB}{\FB@@fg}%
+ \else
+ \@tempcnta`#1\relax
\ifdefined\mule@def
- \mule@def{27}{{\FB@@fg}}%
+ \mule@def{27}{{\FB@@fg}}%
\else
- \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
+ \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
\fi
+ \fi
\fi
- \fi
- \else
- \PackageWarning{frenchb.ldf}%
- {Option `fg' requires package inputenc.\MessageBreak}%
+ \else
+ \PackageWarning{frenchb.ldf}%
+ {Option `fg' requires package inputenc;%
+ \MessageBreak reported}%
+ \fi
+ }%
\fi
- }%
- \fi
- }%
+ }%
}
\newcommand*{\FBprocess@options}{%
\@ifpackageloaded{enumitem}{%
\ifFBStandardItemizeEnv
\else
- \FBStandardItemizeEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardItemizeEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardItemizeEnv=true for\MessageBreak
- compatibility with enumitem package,\MessageBreak}%
+ compatibility with enumitem package,\MessageBreak
+ reported}%
\fi
\ifFBStandardEnumerateEnv
\else
- \FBStandardEnumerateEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardEnumerateEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardEnumerateEnv=true for\MessageBreak
- compatibility with enumitem package,\MessageBreak}%
+ compatibility with enumitem package,\MessageBreak
+ reported}%
\fi}{}%
\@ifpackageloaded{paralist}{%
\ifFBStandardItemizeEnv
\else
- \FBStandardItemizeEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardItemizeEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardItemizeEnv=true for\MessageBreak
- compatibility with paralist package,\MessageBreak}%
+ compatibility with paralist package,\MessageBreak
+ reported}%
\fi
\ifFBStandardEnumerateEnv
\else
- \FBStandardEnumerateEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardEnumerateEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardEnumerateEnv=true for\MessageBreak
- compatibility with paralist package,\MessageBreak}%
+ compatibility with paralist package,\MessageBreak
+ reported}%
\fi}{}%
\@ifpackageloaded{enumerate}{%
\ifFBStandardEnumerateEnv
\else
- \FBStandardEnumerateEnvtrue
- \PackageInfo{frenchb.ldf}%
+ \FBStandardEnumerateEnvtrue
+ \PackageInfo{frenchb.ldf}%
{Setting StandardEnumerateEnv=true for\MessageBreak
- compatibility with enumerate package,\MessageBreak}%
+ compatibility with enumerate package,\MessageBreak
+ reported}%
\fi}{}%
\def\FB@ufl{\update@frenchlists}
\ifx\bbl@main@language\FB@french
- \update@frenchlists
+ \update@frenchlists
\fi
\ifFBAutoSpacePunctuation
- \autospace@beforeFDP
+ \autospace@beforeFDP
\else
- \noautospace@beforeFDP
+ \noautospace@beforeFDP
\fi
\ifFBOriginalTypewriter
\else
- \let\ttfamilyORI\ttfamily
- \let\rmfamilyORI\rmfamily
- \let\sffamilyORI\sffamily
- \let\ttfamily\ttfamilyFB
- \let\rmfamily\rmfamilyFB
- \let\sffamily\sffamilyFB
+ \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
+ \FBcolonskip=\FBthinskip\relax
\else
- \renewcommand*{\FBcolonspace}{\FBthinspace}%
+ \renewcommand*{\FBcolonspace}{\FBthinspace}%
\fi
\fi
\ifFBINGuillSpace
\ifFB@luatex@punct
- \FBguillskip=3.33pt plus 1.665pt minus 1.11pt \relax
+ \FBguillskip=3.33pt plus 1.665pt minus 1.11pt \relax
\else
- \renewcommand*{\FBguillspace}{\space}%
+ \renewcommand*{\FBguillspace}{\space}%
\fi
\fi
\@ifpackageloaded{numprint}%
@@ -1392,27 +1431,27 @@
\renewcommand*{\FB@lc}[1]{##1}%
\fi
\ifFBCustomiseFigTabCaptions
- \ifFB@koma
- \renewcommand*{\captionformat}{\CaptionSeparator}%
- \fi
- \@ifclassloaded{memoir}%
+ \ifFB@koma
+ \renewcommand*{\captionformat}{\CaptionSeparator}%
+ \fi
+ \@ifclassloaded{memoir}%
{\captiondelim{\CaptionSeparator}}{}%
- \@ifclassloaded{beamer}%
+ \@ifclassloaded{beamer}%
{\defbeamertemplate{caption label separator}{FBcustom}{%
\CaptionSeparator}%
\setbeamertemplate{caption label separator}[FBcustom]}{}%
\else
- \ifFB@koma
- \renewcommand*{\captionformat}{{\autospace@beforeFDP : }}%
- \fi
- \@ifclassloaded{memoir}%
- {\captiondelim{{\autospace@beforeFDP : }}%
- }{}%
- \@ifclassloaded{beamer}%
- {\defbeamertemplate{caption label separator}{FBcolon}{%
+ \ifFB@koma
+ \renewcommand*{\captionformat}{{\autospace@beforeFDP : }}%
+ \fi
+ \@ifclassloaded{memoir}%
+ {\captiondelim{{\autospace@beforeFDP : }}%
+ }{}%
+ \@ifclassloaded{beamer}%
+ {\defbeamertemplate{caption label separator}{FBcolon}{%
{\autospace@beforeFDP : }}%
- \setbeamertemplate{caption label separator}[FBcolon]%
- }{}%
+ \setbeamertemplate{caption label separator}[FBcolon]%
+ }{}%
\fi
\ifFBShowOptions
\GenericWarning{* }{%
@@ -1466,7 +1505,7 @@
\AtBeginDocument{%
\providecommand*{\xspace}{\relax}%
\ifdefined\pdfstringdefDisableCommands
- \pdfstringdefDisableCommands{%
+ \pdfstringdefDisableCommands{%
\let\up\relax
\let\fup\relax
\let\degre\textdegree
@@ -1488,32 +1527,32 @@
\def\at{@}%
\def\circonflexe{\string^}%
\def\tild{\string~}%
+ \def\boi{\textbackslash}%
\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
+ \@ifpackageloaded{fontspec}{}%
+ {\@ifpackageloaded{luainputenc}{}%
+ {\PackageWarning{frenchb.ldf}%
+ {Add \protect\usepackage{fontspec} to the\MessageBreak
+ preamble of your document, reported}%
+ }%
+ }
\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
+ \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; reported}%
+ \fi
+ \endgroup
\fi
}
\let\listORI\list
@@ -1552,21 +1591,21 @@
}
\def\FB@itemizesettings{%
\ifFBReduceListSpacing
- \setlength{\itemsep}{\z@}%
- \setlength{\parsep}{\z@}%
- \setlength{\topsep}{\z@}%
- \setlength{\partopsep}{\z@}%
- \@tempdima=\parskip
- \addtolength{\topsep}{-\@tempdima}%
- \addtolength{\partopsep}{\@tempdima}%
+ \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}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \addtolength{\leftmargin}{\parindent}%
\else
- \FB@listHsettings
+ \FB@listHsettings
\fi
}
\def\itemizeFB{%
@@ -1651,7 +1690,7 @@
}
\def\bbl@nonfrenchlistlayout{%
\ifFBGlobalLayoutFrench
- \update@frenchlists
+ \update@frenchlists
\fi
}
\FB@addto{extras}{\bbl@frenchlistlayout}
@@ -1659,22 +1698,22 @@
\def\bbl@frenchindent{%
\ifFBGlobalLayoutFrench\else\babel@save\@afterindentfalse\fi
\ifFBIndentFirst
- \let\@afterindentfalse\@afterindenttrue
- \@afterindenttrue
+ \let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue
\fi}
\def\bbl@nonfrenchindent{%
\ifFBGlobalLayoutFrench
- \ifFBIndentFirst
- \@afterindenttrue
- \fi
+ \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}}%
+ frenchb will NOT customise footnotes;%
+ \MessageBreak reported}}%
{\let\@footnotemarkORI\@footnotemark
\def\@footnotemarkFB{\leavevmode\unskip\unkern
\,\@footnotemarkORI}%
@@ -1688,18 +1727,18 @@
\newcommand*{\kernFFN}{\kern .5em}
\newlength\FBfnindent
\ifFB@koma
- \let\@makefntextORI\@makefntext
- \let\@@makefnmarkORI\@@makefnmark
- \deffootnote[\FBfnindent]{0pt}{\parindentFFN}%
- {\thefootnotemark\dotFFN\kernFFN}
- \let\@makefntextFB\@makefntext
- \let\@@makefnmarkFB\@@makefnmark
- \deffootnote[\parindentFFN]{0pt}{\parindentFFN}%
- {\textsuperscript{\thefootnotemark}}
- \let\@makefntextTH\@makefntext
- \let\@@makefnmarkTH\@@makefnmark
- \let\@makefntext\@makefntextORI
- \let\@@makefnmark\@@makefnmarkORI
+ \let\@makefntextORI\@makefntext
+ \let\@@makefnmarkORI\@@makefnmark
+ \deffootnote[\FBfnindent]{0pt}{\parindentFFN}%
+ {\thefootnotemark\dotFFN\kernFFN}
+ \let\@makefntextFB\@makefntext
+ \let\@@makefnmarkFB\@@makefnmark
+ \deffootnote[\parindentFFN]{0pt}{\parindentFFN}%
+ {\textsuperscript{\thefootnotemark}}
+ \let\@makefntextTH\@makefntext
+ \let\@@makefnmarkTH\@@makefnmark
+ \let\@makefntext\@makefntextORI
+ \let\@@makefnmark\@@makefnmarkORI
\fi
\@ifclassloaded{memoir}
{\newcommand{\@makefntextFB}[1]{%
@@ -1729,54 +1768,54 @@
\providecommand\@makefntextFB[1]{\insertfootnotemarkFB #1}
\AtBeginDocument{%
\@ifpackageloaded{bigfoot}{}%
- {\ifdim\parindentFFN<10in
- \else
- \parindentFFN=\parindent
- \ifdim\parindentFFN<1.5em \parindentFFN=1.5em \fi
- \fi
- \settowidth{\FBfnindent}{\dotFFN\kernFFN}%
- \addtolength{\FBfnindent}{\parindentFFN}%
- \let\@makefntextORI\@makefntext
- \ifFB@koma
- \let\@@makefnmarkORI\@@makefnmark
- \long\def\@makefntext#1{%
- \ifFBFrenchFootnotes
- \ifx\footnote\thanks
- \let\@@makefnmark\@@makefnmarkTH
- \@makefntextTH{#1}%
- \else
- \let\@@makefnmark\@@makefnmarkFB
- \@makefntextFB{#1}%
- \fi
- \else
- \let\@@makefnmark\@@makefnmarkORI
- \@makefntextORI{#1}%
- \fi}%
- \else
- \@ifclassloaded{memoir}%
- {\ifFBFrenchFootnotes
- \setlength{\thanksmarkwidth}{\parindentFFN}%
- \setlength{\thanksmarksep}{-\thanksmarkwidth}%
- \fi
- }{}%
- \@ifclassloaded{beamer}%
- {\ifFBFrenchFootnotes
- \ifdim\parindentFFN=1.5em\else
- \FBWarning{frenchb}{%
+ {\ifdim\parindentFFN<10in
+ \else
+ \parindentFFN=\parindent
+ \ifdim\parindentFFN<1.5em \parindentFFN=1.5em \fi
+ \fi
+ \settowidth{\FBfnindent}{\dotFFN\kernFFN}%
+ \addtolength{\FBfnindent}{\parindentFFN}%
+ \let\@makefntextORI\@makefntext
+ \ifFB@koma
+ \let\@@makefnmarkORI\@@makefnmark
+ \long\def\@makefntext#1{%
+ \ifFBFrenchFootnotes
+ \ifx\footnote\thanks
+ \let\@@makefnmark\@@makefnmarkTH
+ \@makefntextTH{#1}%
+ \else
+ \let\@@makefnmark\@@makefnmarkFB
+ \@makefntextFB{#1}%
+ \fi
+ \else
+ \let\@@makefnmark\@@makefnmarkORI
+ \@makefntextORI{#1}%
+ \fi}%
+ \else
+ \@ifclassloaded{memoir}%
+ {\ifFBFrenchFootnotes
+ \setlength{\thanksmarkwidth}{\parindentFFN}%
+ \setlength{\thanksmarksep}{-\thanksmarkwidth}%
+ \fi
+ }{}%
+ \@ifclassloaded{beamer}%
+ {\ifFBFrenchFootnotes
+ \ifdim\parindentFFN=1.5em\else
+ \FBWarning{%
\protect\parindentFFN\space is ineffective%
- \MessageBreak within the beamer class.\MessageBreak
- Reported}%
- \fi
- \fi
- }{}%
- \long\def\@makefntext#1{%
+ \MessageBreak within the beamer class.%
+ \MessageBreak Reported}%
+ \fi
+ \fi
+ }{}%
+ \long\def\@makefntext#1{%
\ifFBFrenchFootnotes
\@makefntextFB{#1}%
\else
\@makefntextORI{#1}%
\fi}%
- \fi
- }%
+ \fi
+ }%
}
\newcommand*{\AddThinSpaceBeforeFootnotes}{\FBAutoSpaceFootnotestrue}
\newcommand*{\FrenchFootnotes}{\FBFrenchFootnotestrue}
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
index 873ec7061c4..45b37a71d3d 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
@@ -1,5 +1,5 @@
--
--- File `frenchb.lua' generated from frenchb.dtx [2017/01/15 v3.2f]
+-- File `frenchb.lua' generated from frenchb.dtx [2017/01/30 v3.2g]
--
-- Copyright © 2014-2017 Daniel Flipo
-- <daniel (dot) flipo (at) free (dot) fr>