summaryrefslogtreecommitdiff
path: root/language/french/e-french/texmf/doc/src/french_doc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'language/french/e-french/texmf/doc/src/french_doc.txt')
-rw-r--r--language/french/e-french/texmf/doc/src/french_doc.txt152
1 files changed, 125 insertions, 27 deletions
diff --git a/language/french/e-french/texmf/doc/src/french_doc.txt b/language/french/e-french/texmf/doc/src/french_doc.txt
index b0472c388a..70fae94b61 100644
--- a/language/french/e-french/texmf/doc/src/french_doc.txt
+++ b/language/french/e-french/texmf/doc/src/french_doc.txt
@@ -30,11 +30,11 @@
\ifx\@unexpandable@protect\undefined\let\protect\empty%
\else\let\protect\@unexpandable@protect%
\fi%
- \xdef\FSfd{31 mai 2019}% eFrench
- \xdef\FSfv{V6,101}%
+ \xdef\FSfd{6 septembre 2019}% eFrench
+ \xdef\FSfv{V6,11}%
\xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}%
}}%
- \edef\FSfd{2019/05/31}%
+ \edef\FSfd{2019/09/06}%
%
% History as given by Bernard Gaulle:
% I started this job years ago (in 1989) firstly
@@ -191,6 +191,14 @@
% V6,101
% Two minor corrections by interchartoks
% Changes made by Raymond Juillerat 2019/05/30
+% V6,11
+% Possibility of choice for non-breakable spaces:
+% - as made by Bernard Gaulle (fine spaces except for guillemets)
+% - as required by the Imprimerie Nationale de France
+% (fine spaces only for ; ! ? full for : << and >>)
+% - only fine spaces like in Guide du Typographe
+% and choice of the fine space defined by the user
+% Changes made by Raymond Juillerat 2019/09/06
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Object: DOCUMENT CLASS OPTION for printing French texts with TeX or LaTeX
@@ -729,9 +737,51 @@
%\@txt@msg{WARNING:}%
%\@txt@msg{the French language is undefined in your format.}%
}%
+ \fi%
\fi%
%
-\fi%
+% more posibilities by high-punctuation and guillemets
+% three commands for the user
+% - with \NobrkSpacesINFr punctuation as asked by the Imprimerie Nationnale
+% - with \NobrkSpacesFine only fine spaces as in theGuide du Typographe
+% - with \NobrkSpacesFpro punctuation as it was till version 6.101
+%
+%\newif\ifeFrfisp@v@ria
+\newif\ifeFr@DPtfine% semicolon fine or not
+\newif\ifeFr@Guifine% guillemets fine or not
+\newif\ifUSP@GuiFinSpa % for OG space made unbreakable or unused
+\newif\ifPonctu@ctived % no more changes in definitions after having used
+ % some non-breaking spaces
+\def\nbsp@ce{\penalty\@M\space}
+\def\fispce@rigide{\,}%
+\def\eFrFinSp@ce{\penalty\@M%
+ \hskip 0.5\fontdimen2\font}%
+% a possibility for the user to define an own fine non breakable space
+\def\MonEspaceFine#1#2#3{\def\eFrFinSp@ce{\penalty\@M%
+ \hskip #1\fontdimen2\font%
+ plus #2\fontdimen3\font%
+ minus #3\fontdimen4\font}
+}%
+% by guillemets, if fine space, it is always present
+\def\eFr@OGsp@cSpl{\ifeFr@Guifine\eFrFinSp@ce
+ \else\nbsp@ce\fi\ignorespaces}
+% for the user: fine, Imprimerie Nationale-France or Frenchpro
+\def\NobrkSpacesFine{\ifPonctu@ctived
+% don't redefine punctuation behavior
+ \f@issue\@fw{-94-}[NobrkSpacesFine]
+ \else\eFr@DPtfinetrue\eFr@Guifinetrue % espaces fines
+ \fi}
+\def\NobrkSpacesFpro{\ifPonctu@ctived
+% don't redefine punctuation behavior
+ \f@issue\@fw{-94-}[NobrkSpacesFpro]
+ \else\eFr@DPtfinetrue\eFr@Guifinefalse% comme Frenchpro
+ \fi}
+\def\NobrkSpacesINFr{\ifPonctu@ctived
+% don't redefine punctuation behavior
+ \f@issue\@fw{-94-}[NobrkSpacesINFr]
+ \else\eFr@DPtfinefalse\eFr@Guifinefalse %
+% [Imprimerie Nationale de France
+ \fi}
\fontencoding{\encodingdefault}\selectfont%
\def\@temp@{OT1}\ifx\@temp@\f@encoding%
\def\@temp@{\global\ECMfalse}%
@@ -2198,6 +2248,8 @@
%%% %\@txt@msg{configuration de \frenchpack}%
%%% }}{}%
%%% so we now call \IfFileExists ... \@finput
+% by default, the nobreak punctuation set like by Bernard Gaulle
+ \NobrkSpacesFpro%
\IfFileExists{\frenchname.cfg}{% -load site config file.
\f@issue%
\@fw{-48- %\@txt@msg{Lecture du fichier de }%
@@ -3262,11 +3314,11 @@
\XeTeXcharclass `\! \french@punctthin
\XeTeXcharclass `\? \french@punctthin
\XeTeXcharclass `\; \french@punctthin
- \XeTeXcharclass `\: \french@punctthick
- \XeTeXinterchartoks \z@ \french@punctthin = {\nobreak\thinspace}%
- \XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
+ \XeTeXcharclass `\: \french@semicolon
+ \XeTeXinterchartoks \z@ \french@punctthin = {\ifUSP\nobreak\thinspace\fi}%
+ \XeTeXinterchartoks \z@ \french@semicolon = {\ifUSP\ifeFr@DPtfine\nobreak\thinspace\else\nobreakspace\fi\fi}%
\XeTeXinterchartoks 4095 \french@punctthin = {\efr@unskip\nobreak\thinspace}%
- \XeTeXinterchartoks 4095 \french@punctthick = {\efr@unskip\nobreakspace}%
+ \XeTeXinterchartoks 4095 \french@semicolon = {\efr@unskip\ifeFr@DPtfine\nobreak\thinspace\else\nobreakspace\fi}%
}
\def\nointercharpunct{%
% \lccode8217=\z@
@@ -3290,9 +3342,10 @@
% ceci ou largeur fixe ? % insecable : space : \char160 fine : \char8239
\ifeF@xetex@punct
\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
- \newXeTeXintercharclass\french@punctthick % :
+ \newXeTeXintercharclass\french@semicolon % : deux points - Dpt
%
\def\efr@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
+% \def\eFresp@dpt{\ifeFr@DPtfine\nobreak\thinspace\else\nobreakspace\fi}
\def\xpg@nospace#1{#1}
%
\ifeFr@Typo\protect\intercharpunct\else\nointercharpunct\fi
@@ -3313,8 +3366,10 @@
\def\@tempd{\@tempa{\string;}}%
\ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc%
\def\@PV{\relax\ifmmode\string;\else%
+% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
\ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
+ \ifdim\lastskip>\z@\unskip\eFrFinSp@ce\fi%
\fi\string;\fi}%
\def\@tempc{%
\def:{\ifFTY\protect\@DP%{}% -............................................... ":"
@@ -3324,8 +3379,12 @@
\ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc%
\@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}%
\def\@DP{\relax\ifmmode\string:\else%
+% don't redefine punctuation behavior
+\Ponctu@ctivedtrue
+\ifeFr@DPtfine\let\eFresp@dpt=\eFrFinSp@ce
+ \else\let\eFresp@dpt=\nbsp@ce\fi
\ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
+ \ifdim\lastskip>\z@\unskip\eFresp@dpt\fi%
\fi%
\string:%
\@beginparpenalty=\@M\relax%
@@ -3351,8 +3410,10 @@
\def\@tempd{\@tempa{\string!}}%
\ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc%
\def\@PE{\ifmmode\string!\else%
+% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
\ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
+ \ifdim\lastskip>\z@\unskip\eFrFinSp@ce\fi%
\fi%
\string!\fi}%
\def\@tempc{%
@@ -3362,9 +3423,10 @@
\def\@tempd{\@tempa{\string?}}%
\ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc%
\def\@PI{\relax\ifmmode\string?\else%
+% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
\ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M%
- \hskip +0.09em plus 0.07667em% -max glue accepted
+ \ifdim\lastskip>\z@\unskip\eFrFinSp@ce%
\fi%
\fi%
\string?\fi}%
@@ -3466,16 +3528,17 @@
\advance\@FrDimen by -\leftmargin\advance\@FrDimen by -\rightmargin%
\advance\@FrDimen by -\listparindent\hsize=\@FrDimen}%
\@qquotes\fi\fi\fi%
+ \sp@inogfalse%
\@oguills%
\ifFLA\ifEPG\bgroup\def\@currenvir{guillemets}% -simulate an environment
\let\@CGroup\egroup\fi\fi% -for error processing
\ifCG\ifFLA\ifEPG% -save the current \everypar and apply it first
\xdef\@epORI{{\the\TeXeverypar}}%
\TeXeverypar={\@epORI% -Original \everypar.
- \ifEPGR\else% -If not allready done,
+ \ifEPGR\else\@AG% -guide du typographe
+ \sp@inogtrue%
\@oguills% -insert guillemets and
\@ifundefined{@OuvOpen}{% -then according
- \,% -kerning just after.
}{}%
\fi}%
\fi\fi%
@@ -3483,17 +3546,39 @@
\ifFLA\ifEPG\else\def\@qqguill{\@oguills}\@staring\fi\fi\fi%
%%% \protect\@CGfalse%
\global\let\ifCG\iffalse%
- \ifUSP\kern+0.13em\penalty\@M\ignorespaces%
- \else\kern-0.19em\relax\penalty\@M\fi}% -likely as \ignorespaces\fi
+ \ifeFr@Guifine\USP@GuiFinSpatrue% OG full space not used
+ \let\eFresp@gui=\eFrFinSp@ce% OG fine unbreakable space
+ \else\USP@GuiFinSpafalse% OG full space possible
+ \let\eFresp@gui=\nbsp@ce% OG full unbreakable space
+ \fi%
+%% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
+ \ifUSP\USP@GuiFinSpatrue\fi% OG full space not used
+ \ifUSP@GuiFinSpa\eFr@OGsp@cSpl%
+ \else\relax\penalty\@M\fi}%
+% \ifUSP\kern+0.13em\penalty\@M\ignorespaces% - >> V6,1 BG
\def\@AG{\ifAG\let\@LP\@RP\let\@gotl\@gotr%
\fi}% -Apply ancient guillemets if required
\def\f@guillemets{<<}%
+% do not repeat the non breakable space
+\newif\ifsp@inog
\def\@oguills{%
+ \ifeFr@Guifine%
+ \let\eFresp@gui=\eFrFinSp@ce%
+ \else\let\eFresp@gui=\nbsp@ce% no space to be made unbreakable
+ \fi%
+% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
\bgroup\@ifundefined{@OuvOpen}{\def\@OuvOpen{}% -avoid duplicate <<
\@ifundefined{ly}{\@og}%
{\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi%
\ifx\@gotl\undefined\char\rq\@LP%
- \else\@gotl\fi\kern+0.20em}}%
+% \else\@gotl\fi\kern+0.20em}}% - >> V6,1 BG
+ \else\@gotl\fi%
+ \ifeFr@Guifine%
+ \let\eFresp@gui=\eFrFinSp@ce%
+ \else\let\eFresp@gui=\nbsp@ce\fi%
+ \ifsp@inog\eFresp@gui\fi}}% V6,11 RJ
\else\hbox{{\ly\@LP\kern-0.20em\@LP\kern+0.20em}}\fi%
\nobreak}}{}\egroup}%
%\def>{\ifnum\catcode`> =\active% look at \normalbrackets................. ">>"
@@ -3525,17 +3610,21 @@
\else\let\@grORI\grammar\def\grammar{\nofrenchguillemets\@grORI}%
\fi%
+\newif\ifsp@infg
\def\@@FG{\ifCG\f@issue%
\@fw{-14- %\@txt@msg{fermeture de guillemets non ouverts}%
}\fi%
- \ifUSP\unskip\kern+0.13em\else%
- \ifdim\lastskip>\z@\unskip% -skip previous space
- \penalty\@M% -don't break here
- \space% -better than \kern
- \penalty\@M%
+% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
+ \ifeFr@Guifine%
+ \USP@GuiFinSpatrue%
\fi%
- \kern-0.19em%
+ \ifUSP\USP@GuiFinSpatrue\fi% FG full space not used
+ \ifUSP@GuiFinSpa\unskip\eFrFinSp@ce%
+ \else
+ \ifdim\lastskip>\z@\unskip\nbsp@ce\fi%
\fi%
+ \sp@infgfalse
\xdef\@tempd{\@currenvir}\def\@tempe{guillemets}%
\ifx\@tempd\@tempe%
\@CGroup\@fguills% -end group if any and put closing guillemets
@@ -3568,7 +3657,16 @@
\else\@staring\@stared\egroup\fi\fi%
\global\let\ifCG\iftrue\let\@CGroup\relax}%
\def\@fguills{\@ifundefined{ly}{\@cg}% -ECM
- {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi\kern+0.20em%
+ {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi%
+%\kern+0.20em% bg
+% don't redefine punctuation behavior
+ \Ponctu@ctivedtrue
+ \ifsp@infg
+ \ifeFr@Guifine\let\eFresp@gui=\eFrFinSp@ce%
+ \else\let\eFresp@gui=\nbsp@ce\fi%
+ \ifUSP\unskip\space\fi
+ \ifdim\lastskip>\z@\unskip\eFresp@gui\fi
+ \fi
\ifx\@gotr\undefined\char\rq\@RP%
\else\@gotr\fi}}%
\else\hbox{{\ly\kern+0.20em\@RP\kern-0.20em\@RP}}\fi}%
@@ -4170,7 +4268,7 @@
\ifFMA\@oguills% -<< char...\leftguillemets
\else<<\fi}%
\def\rightguillemets{\@noBDfr%
- \ifFMA\@fguills% ->> char..\rightguillemets
+ \ifFMA\sp@infgtrue\@fguills% ->> char..\rightguillemets
\else>>\fi}%
\def\fup{\@noBDfr\ifFTY% -.............................................. \fup
\expandafter\@fup\fi}\MakeRobustCommand{fup}%