diff options
author | Karl Berry <karl@freefriends.org> | 2017-01-31 22:46:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-01-31 22:46:16 +0000 |
commit | 41ab425c0a439bd965b4c7072f4e6d638c98a532 (patch) | |
tree | f2c3810bc9e038c181666b78259f4d48d529c829 /Master | |
parent | edd2ef74ae7ba26589cde2f4889dd1802fceb49f (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/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-french/frenchb.pdf | bin | 268840 -> 270559 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/generic/babel-french/frenchb.dtx | 1075 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel-french/frenchb.ldf | 921 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel-french/frenchb.lua | 2 |
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 Binary files differindex 3ba610aa61f..4741974e754 100644 --- a/Master/texmf-dist/doc/generic/babel-french/frenchb.pdf +++ b/Master/texmf-dist/doc/generic/babel-french/frenchb.pdf 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> |