From d56250bee15780c71fda0c1bad15a4c9ead36070 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 5 Sep 2019 03:01:00 +0000 Subject: CTAN sync 201909050300 --- language/french/e-french/README | 11 +- language/french/e-french/install/MiniDoc_Unx.txt | 2 +- language/french/e-french/install/MiniDoc_Win.txt | 2 +- language/french/e-french/install/Probl_Msg.pdf | Bin 35081 -> 35060 bytes language/french/e-french/texmf/doc/Probl_Msg.pdf | Bin 35368 -> 35060 bytes .../french/e-french/texmf/doc/manuels/efrench.pdf | Bin 829862 -> 844115 bytes language/french/e-french/texmf/doc/manuels/faq.pdf | Bin 259545 -> 274334 bytes .../e-french/texmf/doc/manuels/french_doc.pdf | Bin 139477 -> 141598 bytes language/french/e-french/texmf/doc/src/efrench.tex | 203 +++++++++++++++------ language/french/e-french/texmf/doc/src/faq.tex | 2 +- .../french/e-french/texmf/doc/src/french_doc.txt | 152 ++++++++++++--- language/french/e-french/texmf/tex/french-msg.tex | 3 + language/french/e-french/texmf/tex/french.sty | 171 +++++++++++------ .../e-french/texmf/tex/french_french-msg.tex | 3 + 14 files changed, 407 insertions(+), 142 deletions(-) (limited to 'language/french') diff --git a/language/french/e-french/README b/language/french/e-french/README index 0ea8988c3e..f65c63445e 100644 --- a/language/french/e-french/README +++ b/language/french/e-french/README @@ -1,6 +1,6 @@ eFrench - French typography for LaTeX - Version 6.101 2019-05-30 + Version 6.11 2019-09-06 e-French, FRENCHLE and FRENCH. ------------------- @@ -33,7 +33,7 @@ email: efrench@lists.tuxfamily.org. LICENCE -Copyright 2010 eFrench Group +Copyright 2019 eFrench Group This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any later version. The latest version of this license @@ -97,11 +97,8 @@ easy accessible as french.sty - Within it, please desactivate the things with french guillemets (chevrons), if they were active. -DEVELOPMENTS FOR A BETTER COMPATIBILITY WITH XELATEX / BIBLATEX - -The version 6.1 takes in account the the interchartoks used by -BibLaTeX with XeLaTeX. See the manual efrench.pdf under the -corresponding indexes. +NEW in Vers. 6.1: Interchartoks for XeLaTeX-BibLaTeX compatibility. +NEW in Vers. 6.11: more choices by non breakable (fine) spaces. Enjoy. Raymond Juillerat for the e-french group raymond(at)juil(dot)ch diff --git a/language/french/e-french/install/MiniDoc_Unx.txt b/language/french/e-french/install/MiniDoc_Unx.txt index 5e46b52171..3b069b20e5 100644 --- a/language/french/e-french/install/MiniDoc_Unx.txt +++ b/language/french/e-french/install/MiniDoc_Unx.txt @@ -43,6 +43,6 @@ Documentation is now a part of e-french. -- rayj for the eFrench group, all questions to be sent to -Laurent Bloch +Laurent Bloch (/usr/share/texmf-texlive/tex/latex/frenchle/frenchle.cfg) diff --git a/language/french/e-french/install/MiniDoc_Win.txt b/language/french/e-french/install/MiniDoc_Win.txt index 15eef29850..7e663ce85e 100644 --- a/language/french/e-french/install/MiniDoc_Win.txt +++ b/language/french/e-french/install/MiniDoc_Win.txt @@ -42,4 +42,4 @@ Documentation is now a part of e-french. -- rayj for the eFrench group, all questions to be sent to -Laurent Bloch +Laurent Bloch diff --git a/language/french/e-french/install/Probl_Msg.pdf b/language/french/e-french/install/Probl_Msg.pdf index 2441b7c648..af937d36d5 100644 Binary files a/language/french/e-french/install/Probl_Msg.pdf and b/language/french/e-french/install/Probl_Msg.pdf differ diff --git a/language/french/e-french/texmf/doc/Probl_Msg.pdf b/language/french/e-french/texmf/doc/Probl_Msg.pdf index c34461c0c7..af937d36d5 100644 Binary files a/language/french/e-french/texmf/doc/Probl_Msg.pdf and b/language/french/e-french/texmf/doc/Probl_Msg.pdf differ diff --git a/language/french/e-french/texmf/doc/manuels/efrench.pdf b/language/french/e-french/texmf/doc/manuels/efrench.pdf index 8dd38bb4b3..a07f2f6965 100644 Binary files a/language/french/e-french/texmf/doc/manuels/efrench.pdf and b/language/french/e-french/texmf/doc/manuels/efrench.pdf differ diff --git a/language/french/e-french/texmf/doc/manuels/faq.pdf b/language/french/e-french/texmf/doc/manuels/faq.pdf index 80027e681e..c01ee507b8 100644 Binary files a/language/french/e-french/texmf/doc/manuels/faq.pdf and b/language/french/e-french/texmf/doc/manuels/faq.pdf differ diff --git a/language/french/e-french/texmf/doc/manuels/french_doc.pdf b/language/french/e-french/texmf/doc/manuels/french_doc.pdf index 65eb635481..43c5eb6ca2 100644 Binary files a/language/french/e-french/texmf/doc/manuels/french_doc.pdf and b/language/french/e-french/texmf/doc/manuels/french_doc.pdf differ diff --git a/language/french/e-french/texmf/doc/src/efrench.tex b/language/french/e-french/texmf/doc/src/efrench.tex index 5155e7878c..c1b4ec8bb2 100644 --- a/language/french/e-french/texmf/doc/src/efrench.tex +++ b/language/french/e-french/texmf/doc/src/efrench.tex @@ -68,8 +68,8 @@ \makeindex \begin{document} % \labelsinmargin -\def\raccouXe{X -\raisebox{1.2ex}{\hspace{-1ex}\rotatebox{180}{E}}\hspace{-0.3ex}}% +\usualmessages +\def\raccouXe{X\raisebox{1.2ex}{\hspace{-0.05ex}\rotatebox{180}{E}}\hspace{-0.3ex}}% \title{\fboxsep=2ex% \shadowbox{\Huge Guide de l'utilisateur \textsl{eFrench}}\\% @@ -86,13 +86,13 @@ Pdf\LaTeX{} et \raccouXe\LaTeX\\%T l'extension \textsl{eFrench}, son style \texttt{french} et ses diverses propres extensions. Le paquetage \textsl{eFrench} a été créé pour imprimer des documents typographiquement - plus conformes à l'usage français que ce que produit \LaTeX{} par défaut. + plus conformes à l'usage français que ce que produit \LaTeX{} par défaut. Un grand nombre de commandes peuvent être utilisées mais l'emploi courant de cette extension ne nécessite {\em a priori\/} aucune connaissance particulière ni une utilisation forcenée de commandes spécifiques. Toutefois cet emploi n'est pas toujours {\em transparent}. - Une version allégée est fournie (style \texttt{frenchle}). +% Une version allégée est fournie (style \texttt{frenchle}). Une version appauvrie (\texttt{pmfrench}) est aussi utilisable sur tous les sites et dans toutes les configurations. D'autres extensions accompagnent le style \texttt{french} @@ -300,7 +300,8 @@ les commentaires ne figurent plus dans le fichier \verb|french.sty| mais dans %] \linkandfootnote{codefrench}{\texttt{french\_{}doc.pdf}}% {http://efrench.org/doc/french_doc.pdf}% - (dont la mise à jour accuse un certain retard.\textbf{]} +% (dont la mise à jour accuse un certain retard +.\textbf{]} \index{fichier!french_doc.pdf@\texttt{french\string_doc.pdf}}% \subsection{Pour commencer}\label{Pour commencer}\index{pour commencer}% @@ -349,9 +350,9 @@ de ponctuation.}% a été bien défini pour \LaTeX{} ou sinon : \verb|<<| et \verb|>>| ; toute autre sorte de guillemets est à prohiber en français (\verb|` " '| \`{ } \'{ } `` ,, '') ; -\item {\em french.sty} a été étendu pour accepter aussi les guillemets \MAJ +\item {\em french.sty} a été étendu pour accepter aussi les guillemets {\em utf8} sous \raccouXe\LaTeX ceci pour autant que {\em efrenchu.tex} -soit accessible ;\endMAJ +soit accessible ; \item on marque les intervalles avec un simple tiret (\verb|-|) comme dans << la guerre de 1939-45 >> ou << voir explication p. 169-173 >> ; @@ -1270,7 +1271,7 @@ la fenêtre de l'enveloppe %=============== %\input{frenchlet} % activer dès l'instant où lettre.cls, version 3 est sur CTAN -\subsection{La classe \emph{lettre} } \label{lettre} +\subsubsection{La classe \emph{lettre} de l'Observatoire de Genève } \label{lettre} La classe \texttt{lettre} de l'Observatoire de Genève peut aussi être utilisée par {\eFrench}. @@ -1278,12 +1279,105 @@ par {\eFrench}. S'il est vrai que la classe \texttt{lettre} a été conçue et développée d'abord pour être utilisée avec \textsl{babel}, sa version 3.000 devrait être compatible avec \textsl{e-french}. Les versions précédentes sortaient dans certaines configurations (sous Windows avec Mik\TeX) une page blanche avant chaque lettre. -\subsubsection{Exemples complets d'utilisation} +\paragraph*{Exemples complets d'utilisation} On ne peut pas appliquer tels quels les exemples donnés dans la documentation de la classe \texttt{lettre} sous \textsl{babel}. C'est pourquoi il existe une documentation spéciale et des exemples d'utilisation avec {\eFrench} sous \url{http://efrench.org/doc/eflettre.zip} +\MAJ +\subsection{Espaces insécables, ponctuation et guillemets} +\index{espaces non sécables}% +Cette section précise certains éléments apportés à partir de la version 6,1 d'eFrench +concernant la mise en œuvre des espaces insécables.. +La version 6,11 tient compte désormais des tendances actuelles de la typographie +en donnant le choix à l'utilisateur entre les règles de l'Imprimerie Nationale Française, +celles du Guide du Typographe\cite{romand} (autrefois guide Romand du Typographe\cite{romand5}) +et celles des versions antérieures d'eFrench (reprises de FrenchPro). +\subsubsection{ Trois règles et leurs différences} +Ces différences ne touchent que l'espace insécable précédant les deux-points et le guillemet fermant +et celui suivant le guillemets ouvrant. Les avis semblent unanimes concernant les espaces précédant +le point d'exclamation, le point d'interrogation et le point-virgule. C'est alors une espace fine insécable. + +\begin{enumerate} +\item {\bf Imprimerie Nationale Française} : espaces insécables entières pour deux-points et guillemets ; +\index{espaces non sécables!NobrkSpacesINFr@\texttt{\backslash NobrkSpacesINFr}}% +\item{\bf Guide du typographe} : espaces fines insécables partout ; +\index{espaces non sécables!NobrkSpacesINFr@\texttt{\backslash NobrkSpacesFine}}% +\item{\bf FrenchPro} espace fine insécable pour les deux-points, espaces insécables entières pour les guillemets. +\index{espaces non sécables!NobrkSpacesINFr@\texttt{\backslash NobrkSpacesFpro}}% +\end{enumerate} +Ainsi Bernard Gaulle s'était inspiré des deux modèles. Maintenant l'utilisateur a le choix, qu'il peut préciser soit +dans le préambule après appel de french.sty (\verb|\usepackage{efrench}|), +soit dans le fichier de configuration {\em french.cfg}, soit tout au début +du document. Voici les trois commandes disponibles : +\begin{enumerate} +\item \verb|\NobrkSpacesINFr| pour suivre les recommandations de l'Imprimerie Nationale Française ; +\item \verb|\NobrkSpacesFine| pour suivre les recommandations du Guide du Typographe ; +\item \verb|\NobrkSpacesFpro| pour revenir au comportement par défaut (si l'une des autres commandes +a été mise en œuvre dans {\em french.cfg}). +\end{enumerate} + +\paragraph*{Comportement des guillemets dans le choix d'espaces fines} +Dans ce choix, l'espace fine est toujours présente, même si dans le fichier-source les guillemets sont collés au texte. +\subsubsection{ \protect \raccouXe\LaTeX, Bib\LaTeX{} et InterCharToks}\label{interchartoks}\index{interchartoks}% +\index{BibLaTeX@{Bib\LaTeX}} + +Au sein de Bib\LaTeX{} +avec le moteur \raccouXe\LaTeX\index{XeLaTeX@{\raccouXe\LaTeX}}, + il est nécessaire + d'utiliser {\em InterCharToks} pour définir le comportement +des ponctuation hautes ( ! ; : et ?). Dans la précédente version d'eFrench, +une espace insécable (fine) était toujours insérée entre le texte +et la ponctuation, qu'il y ait ou non d'espace inséré. +Ce défaut est corrigé et les espaces de la ponctuation n’apparaissent +que si l'on a une espace dans le source comme +c'est le cas en utilisation habituelle. + +Les règles décrites précédemment concernant les choix entre espace entière et espace fine +sont aussi actives sous {\em InterCharToks}. +Mais {\em InterCharToks} a sa propre définitions des espaces insécables. +À ce niveau, seuls les guillemets échappent à cette emprise et réagissent dans Bib\LaTeX{} +comme dans le texte principal en ce qui concerne les espaces insécables. + +La compatibilité {\em InterCharToks}\index{interchartoks} + permet donc une utilisation correcte de BibLaTeX. +Dans le programme demandant la bibliographie, on donnera l'ordre \verb|\intercharpunct| +avant de placer la bibliographie. Au sein des fichiers sources de \texttt{Biber (*.bib)}, il ne faut plus +entourer chaque texte non-français contenant une ponctuation haute entre +\verb|\nointercharpunct| et \verb|\intercharpunct| afin que la ponctuation étrangère +ne réagisse pas comme la ponctuation française. Il suffit de la coller au texte. On écrira par exemple :\\ +{\small\verb|TITLE="Alan Turing: the Enigma (Alan Turing : l'Énigme de|...} +\index{BibLaTeX@{Bib\LaTeX}} qui devient\\ +{\em Alan Turing: the Enigma (Alan Turing : l'Énigme de ...} + +Après Bib\LaTeX{}, s'il y a encore du texte, il faut retourner à l'état +\raccouXe\LaTeX normal en utilisant \verb|\nointercharpunct|. + +Exemple : + +\noindent +\verb|\intercharpunct % | {\em pour la bibliographie, activation de la ponctuation interchartoks} +\\ +\verb|\printbibliography|\\ +\verb|\nointercharpunct % | {\em pour la suite, retour à la ponctuation habituelle} + +\subsubsection{Choix d'une espace fine personnelle} +Normalement, l'espace fine a la longueur d'une demi-espace normale et n'est pas élastique. +C'est aussi le cas avec {\em InterCharToks} où ce comportement n'est pas modifiable, +les guillemets faisant exception. +Pour le document principal, on peut appeler une commande \verb|\MonEspaceFine|. +Le comportement normal de l'espace fine correspond à la commande +\verb|\MonEspaceFine{0.5}{0}{0}.| Le premier paramètre indique que c'est la moitié +de l'espace normale, le second qu'il n'y a pas d'extension, le troisième qu'il n'y a pas de compression. +Une commande \verb|\MonEspaceFine{0.5}{0.3}{0.2}| ajoute une certaine d'élasticité, +peu en extension, encore moins en compression. +Les paramètres sont relatifs à ceux du comportement de l'espace entière que l'on +pourrait copier en définissant \verb|\MonEspaceFine{1}{1}{1}|. +Le comportement final dépend fortement de la fonte en cours dans le texte. + +\endMAJ + \subsection{Environnements}\label{Environnements}\index{environnements}% \subsubsection{Les messages à la console}\label{messages} @@ -1293,6 +1387,7 @@ de la classe \texttt{lettre} sous \textsl{babel}. C'est pourquoi il existe une d en 7-bits ce qui est la seule solution pour éviter les mélanges entre 8-bits et unicode. Autre possibilité pour l'utilisateur : supprimer {\em french\_french-msg.tex} afin d'avoir les messages en anglais. +C'est ainsi, par l'anglais, que french pour babel a résolu le problème. \endMAJ \subsubsection{À propos de césure\label{cesure}} @@ -1327,7 +1422,7 @@ n'est pas parfaite il est aussi possible de la changer par l'ordre séquence \verb|\-| est ici, avec {\eFrench}, équivalente à un espace) ; pour plus de détails se reporter à \verb|\frenchhyphenation| page \pageref{frenchhyphenation} et -\verb|\moretolerance| page \pageref{moretolerance} ; \maj +\verb|\moretolerance| page \pageref{moretolerance} ;% \maj %Par défaut, le fichier \vers|frhyphex.tex| contenant %quelques exceptions françaises est introduit dans \TeX{} à %la création du {\em format}% @@ -1628,7 +1723,7 @@ en séquence (il peut arriver effectivement que \LaTeX{} ne les place pas dans l'ordre de leur numérotation). -\subsection{Extension utiles}\label{Extension utiles}\index{extension utiles}% +\subsection{Extensions utiles}\label{Extension utiles}\index{extension utiles}% \subsubsection{Petits outils supplémentaires}\label{outils} Il ne s'agit pas ici d'outils typiquement français mais @@ -1708,14 +1803,6 @@ n'étant pas très jolie, j'ai souhaité ici lui donner une forme plus sympathique et plus définitive. L'extension {\eFrench} propose donc la séquence \verb|\AllTeX| qui imprime \AllTeX. -\subsubsection{Compatibilité interchartoks} - -La compatibilité avec tous les moteurs \LaTeX{} a été étendue à -\raccouXe\LaTeX{} pour une typographie correcte dans le cas où -certains modules utilisent interchartoks\index{interchartoks}. -Cette extension permet entre autres une utilisation correcte de BibLaTeX -\index{BibLaTeX@\texttt{Bib\LaTeX}}. - \subsubsection{Personnalisation} Nous avons parlé jusqu'ici d'une utilisation normale, standard, de l'extension {\eFrench}. Mais il est toujours possible de @@ -1819,7 +1906,7 @@ on trouvera : avec MacOs X ; la version du format \LaTeX\ doit dater au moins de 2003 (\texttt{2003/12/01}) pour bénéficier du codage \texttt{utf8}. -C'est le codage par défaut de \raccouXe\LaTeX{}.\maj +C'est le codage par défaut de \raccouXe\LaTeX{}. %(avec %l'extension \emph{inputenc} à laquelle fait appel \eFrench\ pour %gérer ce cas spécifique) ; @@ -2841,8 +2928,8 @@ ce n'est pas l'option par défaut avec {\eFrench}. La bibliographie d'un document est réalisée en deux étapes : tout d'abord la sélection et le tri des entrées bibliographiques (en général reprises d'une base bibliographique BiB\TeX{} ou BiB\LaTeX) avec le programme -\index{bibtex8@\texttt{bibtex8}}% -\index{BibLaTeX@\texttt{Bib\LaTeX}}% +\index{bibtex8@{bibtex8}}% +\index{BibLaTeX@{Bib\LaTeX}}% \texttt{bibtex} \footnote{Utiliser de préférence \texttt{bibtex8} pour le traitement correct des caractères accentués. Mais avec XeLaTex, c'est une @@ -2860,7 +2947,7 @@ avec \emph{jurabib} et \emph{fracm}. Dès la version 6,1 \emph{biblatex} est aussi fonctionnel}% \index{extension!jurabib@\emph{jurabib}}% \index{extension!fracm@\emph{fracm}}% -\index{BibLaTeX@\texttt{Bib\LaTeX}}% +\index{BibLaTeX@{Bib\LaTeX}}% . Par défaut, il traduit les libellés utilisés le plus fréquemment, comme nous allons le voir dans ce qui suit. @@ -2950,7 +3037,7 @@ modifiable mais par contre vous pouvez préciser votre propre fichier \index{abreviations@abréviations!\texttt{\backslash abbreviations}}% \index{noabreviations@\texttt{\backslash noabbreviations}}% d'abréviations par la commande : \verb|\abbreviations[fichier]|. -\paragraph*{Abbréviations pour sources en UTF8} Le fichier d'abbréviations \MAJ +\paragraph*{Abbréviations pour sources en UTF8} Le fichier d'abbréviations ouvert par défaut (\vers|frab|\-\vers|brev.tex|) est codé en latin9. \index{codage!utf8@\texttt{utf8}} Maintenant existe aussi le même en utf8 nommé \vers|frab|\-\vers|brev-u8.tex|. @@ -2958,7 +3045,7 @@ Libre à chacun de changer les noms des fichiers d’abréviation ou d'appeler par la commande\\ \verb|\abbreviations[fichier]| celui qui convient au code source, par exemple\\ \verb|\abbreviations[frabbrev-u8.tex]|. -\endMAJ + Rappelons qu'en \TeX{} le caractère \verb|"| est normalement le début d'une valeur @@ -2984,8 +3071,8 @@ imposer des coupures avec doublée. La portée de cet ordre doit donc être limitée par des accolades \{\ \} ou tout autre moyen sûr. L'aspect négatif de cet ordre concerne l'extension de l'espace inter-mots qui ne manquera -pas de se produire car \TeX\ aura alors tendance à rajouter de la -\emph{glue} plutôt que de produire des coupures de mots en bout +pas de se produire car \TeX\ aura alors tendance à rajouter de +l'élasticité plutôt que de produire des coupures de mots en bout de ligne, les deux étant toutefois possibles : \begin{figurette} \Large @@ -3557,33 +3644,11 @@ convient à l'ensemble des parties françaises du document. \index{T1@\texttt{T1} (codage)}% \item \texttt{-25- (pm)french.sty affiche ici ses messages en 7-bits}\\ - \texttt{\phantom{-25-} }\verb|(\`|\texttt{a la TeX).}\\ - Le format \LaTeX{} qui a été créé ne supporte pas le 8-bits en - sortie. Cela peut effectivement venir du moteur \TeX\ car tous -\index{moteur!tex@\TeX}% - ne disposent pas de cette facilité. Si ce n'est pas le cas, - probablement que le format a été créé sans utiliser - le configurateur de clavier \texttt{kbconfig} -%%%%%%%%%%%%%%%%%%%%% -\ifnoDOCinstall\else% -%%%%%%%%%%%%%%%%%%%%% -(cf. \ref{kbconfig} page \pageref{kbconfig}) -\fi% -.\\ - Dans d'autres cas, les messages ne peuvent même pas être - émis << à la \TeX\ >> ; les ordres d'accentuation - sont alors totalement éliminés.\\ - Si vous souhaitez - toutefois afficher les messages en 8-bits, forcez l'option - \verb|\usualmessages|. -\index{usualmessages@\texttt{\backslash usualmessages}}% +Ceci est le cas généralement et c'est nouveau parce que le choix +à faire entre tous les formats (ansii, utf8, etc) est souvent impossible. \texttt{-25- (pm)french.sty affiche ici ses messages en 8-bits.}\\ - Ceci est l'option normale si le moteur \TeX{} est capable de produire -\index{moteur!tex@\TeX}% - du 8-bits en sortie, à la place des caractères héxadécimaux sous - la forme \verb|^^xx|. Cette option peut avoir été forcée par la - commande \verb|\usualmessages|. +Ce message ne devrait plus être affiché. \item\texttt{-26a- Erreur détectée dans (pm)french.sty.}\\ \texttt{-26b- (voir p.ex. le fichier language.dat)}\\ @@ -4058,6 +4123,30 @@ convertisseurs \texttt{kb8to7} et \texttt{kb7to8}. Le dispositif permettant de disposer de fichiers \texttt{*.kbc} en \index{fichier!*.kbc@\texttt{*.kbc} avec Plain \TeX}% fonction du langage utilisé n'est pas disponible avec Plain TeX. +\item \texttt{-81- ATTENTION : extension "msg" non trouv\'ee ; \\% +\phantom{-81-} on continue sans le texte des messages}\\ +Les fichiers de messages manquent ou ne sont pas accessibles + +\item \texttt{-85- Attention : l'option fixlanguage + n'a pas \'et\'e fournie \`a l'appel de babelbib}\\ +Ceci ne devrait pas arriver car babelbib ne devrait pas être utilisé +avec e-french + +\item \texttt{-87- ERREUR : \\% + babelbib s'utilise uniquement avec babel}\\ +Ceci ne devrait pas arriver car efrench ne devrait pas être utilisé +avec babel + +\MAJ +\item \texttt{-94- Le changement de ponctuation (NobrkSpaces...)} \\ +\phantom{-94-} n'est plus permis apr\`es une utilisation de ponctuation active\\ +\phantom{-94-} (\string! \string? \string; \string: \string<\string< \string>\string>).\\ +Veillez appeler la commande dans french.cfg ou +avant {\em \backslash begin\{document\}} ou tout au début de ce dernier, +en tous cas avant l'emploi d'espace insécable\endMAJ + +\msgheader{-**-\space} + \end{itemize} @@ -4330,8 +4419,14 @@ http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/trunk/doc/artET98.pdf {\em The \LaTeX{} companion}, Addison-Wesley, second edition, 2004. -\bibitem{romand} {\em Guide du typographe romand}, Association suisse - des compositeurs à la machine, 6\ieme édition, 2000. +%\bibitem{romand4} {\em Guide du typographe romand}, Association suisse + %des compositeurs {\`a} la machine, 4\ieme {\'e}dition, 1982 + +\bibitem{romand5} {\em Guide du typographe romand}, Association suisse + des compositeurs à la machine, 5\ieme édition, 1993. + +\bibitem{romand} {\em Guide du typographe}, Association suisse + des typographes (AST), groupe de Lausanne, 7\ieme édition, 2015. \bibitem{latexbook}L. {\sc Lamport}, {\em \LaTeX, A document preparation system}, Addison-Wesley, 1994. diff --git a/language/french/e-french/texmf/doc/src/faq.tex b/language/french/e-french/texmf/doc/src/faq.tex index 35583ab92b..15f45aae75 100644 --- a/language/french/e-french/texmf/doc/src/faq.tex +++ b/language/french/e-french/texmf/doc/src/faq.tex @@ -1441,7 +1441,7 @@ piégée ; il faut la corriger à la main.}.\indpos \begin{thebibliography}{9} \bibitem{lblochefr}{L. Bloch} \textit{\linkandfootnote{rlblochefr}{Lancement du projet \textit{eFrench}}% -{http://www.laurentbloch.org/MySpip3/spip.php?article166}}%http://www.laurentbloch.org/BlogLB/ +{https://www.laurentbloch.net/MySpip3/e-french-desormais-dans-les-depots-TeXLive-et-MiKTeX}} \bibitem{cesures} D. Flipo, B. Gaulle et K. Vancauwenberghe,\textit{ \linkandfootnote{ rcesures}{Motifs de césure français}{http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1994___18_35_0.pdf}}, {\it in} Les Cahiers GUTenberg No 18, 1994. 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}% diff --git a/language/french/e-french/texmf/tex/french-msg.tex b/language/french/e-french/texmf/tex/french-msg.tex index 7db46b5431..72b1662025 100644 --- a/language/french/e-french/texmf/tex/french-msg.tex +++ b/language/french/e-french/texmf/tex/french-msg.tex @@ -196,6 +196,9 @@ \msg*{93}{You are using two French options for Babel, % \MessageBreak % please choose only one.}{} +\msg{94}{A modification of ponctuation rules (#1) \MessageBreak% + is no more allowed after having used an active punctuation\MessageBreak % + (\string! \string? \string; \string: \string<\string< or \string>\string>).}{} \msgheader{-**-\space} \msg*{**a}{\frenchpack\space serial number is *\@FrVal*.}{} \msg*{**b}{\@FrVal\space of \frenchpack.}{} diff --git a/language/french/e-french/texmf/tex/french.sty b/language/french/e-french/texmf/tex/french.sty index ba3fea5a62..40092707f6 100644 --- a/language/french/e-french/texmf/tex/french.sty +++ b/language/french/e-french/texmf/tex/french.sty @@ -10,11 +10,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}% \NeedsTeXFormat{LaTeX2e}[1996/12/01]% % > utf8 and NoEncode specialities \newif\ifeF@NoEnc %No encoding (XeTex, LuaLaTex) @@ -29,6 +29,7 @@ \else \eF@LuaTeXtrue \eF@NoEnctrue \fi +% in order to follow by interchartoks \newif\ifeFr@Typo\eFr@Typotrue % In order having no encoding by messages declare this : \let\kbencoding\@gobble @@ -115,6 +116,37 @@ }% \fi% \fi% +% +\newif\ifeFr@DPtfine +\newif\ifeFr@Guifine +\newif\ifUSP@GuiFinSpa % for OG +\newif\ifPonctu@ctived % +\def\nbsp@ce{\penalty\@M\space} +\def\fispce@rigide{\,}% +\def\eFrFinSp@ce{\penalty\@M% + \hskip 0.5\fontdimen2\font}% +\def\MonEspaceFine#1#2#3{\def\eFrFinSp@ce{\penalty\@M% + \hskip #1\fontdimen2\font% + plus #2\fontdimen3\font% + minus #3\fontdimen4\font} +}% +\def\eFr@OGsp@cSpl{\ifeFr@Guifine\eFrFinSp@ce + \else\nbsp@ce\fi\ignorespaces} +% for the user: fine, France or Frenchpro +\def\NobrkSpacesFine{\ifPonctu@ctived + \f@issue\@fw{-94-}[NobrkSpacesFine] + \else\eFr@DPtfinetrue\eFr@Guifinetrue % espaces fines + \fi} +\def\NobrkSpacesFpro{\ifPonctu@ctived + \f@issue\@fw{-94-}[NobrkSpacesFpro] + \else\eFr@DPtfinetrue\eFr@Guifinefalse% comme Frenchpro + \fi} +\def\NobrkSpacesINFr{\ifPonctu@ctived + \f@issue\@fw{-94-}[NobrkSpacesINFr] + \else\eFr@DPtfinefalse\eFr@Guifinefalse % +% [Imprimerie Nationale de France + \fi} +%that was for adaptations high-punct and guillem \fontencoding{\encodingdefault}\selectfont% \def\@temp@{OT1}\ifx\@temp@\f@encoding% \def\@temp@{\global\ECMfalse}% @@ -1392,6 +1424,7 @@ \batchmode\@@end% \fi% \let\@Ffnt\ErrFrench\let\ErrFrench\undefined% + \NobrkSpacesFpro% \IfFileExists{\frenchname.cfg}{% \f@issue% \@fw{-48- % @@ -2328,19 +2361,20 @@ \def\@WTS{\relax\ifmmode\else\ifhmode% \ifdim\lastskip>\z@\unskip\fi% \fi\fi}% +% % > for XeLaTex ****** -% de gloss-french +% inspired from gloss-french \def\intercharpunct{% % \lccode\lccode8217=8217 \XeTeXinterchartokenstate=1 \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@ @@ -2363,7 +2397,7 @@ \fi \ifeF@xetex@punct \newXeTeXintercharclass\french@punctthin % ! ? ; et autres - \newXeTeXintercharclass\french@punctthick % : + \newXeTeXintercharclass\french@semicolon % : % \def\efr@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi} \def\xpg@nospace#1{#1} @@ -2384,9 +2418,10 @@ \def\@tempd{\@tempa{\string;}}% \ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc% \def\@PV{\relax\ifmmode\string;\else% - \ifhmode\ifUSP\unskip\space\fi% - \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% - \fi\string;\fi}% + \Ponctu@ctivedtrue + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\eFrFinSp@ce\fi% + \fi\string;\fi}% \def\@tempc{% \def:{\ifFTY\protect\@DP% \else\ifWTS\@WTS\fi\string:\fi}% @@ -2395,10 +2430,13 @@ \ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc% \@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}% \def\@DP{\relax\ifmmode\string:\else% - \ifhmode\ifUSP\unskip\space\fi% - \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% - \fi% - \string:% +\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\eFresp@dpt\fi% + \fi% + \string:% \@beginparpenalty=\@M\relax% \fi}% \def\@wu#1{\@@wu#1,\void}% @@ -2418,10 +2456,11 @@ \def\@tempd{\@tempa{\string!}}% \ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc% \def\@PE{\ifmmode\string!\else% - \ifhmode\ifUSP\unskip\space\fi% - \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% - \fi% - \string!\fi}% + \Ponctu@ctivedtrue + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\eFrFinSp@ce\fi% + \fi% + \string!\fi}% \def\@tempc{% \def?{\ifFTY\protect\@PI% \else\ifWTS\@WTS\fi\string?\fi}% @@ -2429,12 +2468,12 @@ \def\@tempd{\@tempa{\string?}}% \ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc% \def\@PI{\relax\ifmmode\string?\else% - \ifhmode\ifUSP\unskip\space\fi% - \ifdim\lastskip>\z@\unskip\penalty\@M% - \hskip +0.09em plus 0.07667em% - \fi% - \fi% - \string?\fi}% + \Ponctu@ctivedtrue + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\eFrFinSp@ce% + \fi% + \fi% + \string?\fi}% \ifx\@tempb\next\let\AFPdp\empty\f@issue% \@fw{-13b- % \@txt@msg{la double ponctuation est alors d\'esactiv\'ee}}\fi% @@ -2518,35 +2557,55 @@ \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}% \let\@CGroup\egroup\fi\fi% \ifCG\ifFLA\ifEPG% \xdef\@epORI{{\the\TeXeverypar}}% \TeXeverypar={\@epORI% - \ifEPGR\else% - \@oguills% + \ifEPGR\else\@AG% -guide du typographe + \sp@inogtrue% + \@oguills% begin of paragraph \@ifundefined{@OuvOpen}{% - \,% + %\,% space in @oguil }{}% \fi}% \fi\fi% - \else\@SifDOGon\@AG% + \else\@SifDOGon\@AG% in a citation \ifFLA\ifEPG\else\def\@qqguill{\@oguills}\@staring\fi\fi\fi% \global\let\ifCG\iffalse% - \ifUSP\kern+0.13em\penalty\@M\ignorespaces% - \else\kern-0.19em\relax\penalty\@M\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% + \Ponctu@ctivedtrue + \ifUSP\USP@GuiFinSpatrue\fi% OG full space not used + \ifUSP@GuiFinSpa\eFr@OGsp@cSpl% + \else\relax\penalty\@M\fi}% +% \relax\ifeFr@Guifine\/\fi\penalty\@M}% space is following \def\@AG{\ifAG\let\@LP\@RP\let\@gotl\@gotr% \fi}% \def\f@guillemets{<<}% -\def\@oguills{% +\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% + \Ponctu@ctivedtrue \bgroup\@ifundefined{@OuvOpen}{\def\@OuvOpen{}% \@ifundefined{ly}{\@og}% {\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi% - \ifx\@gotl\undefined\char\rq\@LP% - \else\@gotl\fi\kern+0.20em}}% - \else\hbox{{\ly\@LP\kern-0.20em\@LP\kern+0.20em}}\fi% - \nobreak}}{}\egroup}% + \ifx\@gotl\undefined\char\rq\@LP% + \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\@@RFG{\ifFTY\ifmmode\protect\@RSG\else% \ifIEB\@SFC\else\@RSG\fi% \fi% @@ -2572,17 +2631,20 @@ \else\let\@grORI\grammar\def\grammar{\nofrenchguillemets\@grORI}% \fi% +\newif\ifsp@infg \def\@@FG{\ifCG\f@issue% \@fw{-14- % }\fi% - \ifUSP\unskip\kern+0.13em\else% - \ifdim\lastskip>\z@\unskip% - \penalty\@M% - \space% - \penalty\@M% - \fi% - \kern-0.19em% - \fi% + \Ponctu@ctivedtrue + \ifeFr@Guifine% + \USP@GuiFinSpatrue% + \fi% + \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% @@ -2612,10 +2674,17 @@ \else\@staring\@stared\egroup\fi\fi% \global\let\ifCG\iftrue\let\@CGroup\relax}% \def\@fguills{\@ifundefined{ly}{\@cg}% - {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi\kern+0.20em% - \ifx\@gotr\undefined\char\rq\@RP% - \else\@gotr\fi}}% - \else\hbox{{\ly\kern+0.20em\@RP\kern-0.20em\@RP}}\fi}% + {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi% + \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}% \ifGIAF\else\ifdim\fontdimen\@ne\font>\z@\/\fi\fi% }% \def\@normalrq{\relax\ifmmode^\prime\else\@frq\fi}% @@ -3142,8 +3211,8 @@ \ifFMA\@oguills% \else<<\fi}% \def\rightguillemets{\@noBDfr% - \ifFMA\@fguills% - \else>>\fi}% + \ifFMA\sp@infgtrue\@fguills% + \else>>\fi}% \def\fup{\@noBDfr\ifFTY% \expandafter\@fup\fi}\MakeRobustCommand{fup}% \def\@fup{\@ifstar{\csname\string\!\endcsname\@@fup}{\@@fup}}% diff --git a/language/french/e-french/texmf/tex/french_french-msg.tex b/language/french/e-french/texmf/tex/french_french-msg.tex index ea3359faab..da26e471ab 100644 --- a/language/french/e-french/texmf/tex/french_french-msg.tex +++ b/language/french/e-french/texmf/tex/french_french-msg.tex @@ -203,6 +203,9 @@ \msg*{93}{Vous utilisez deux options de francisation avec Babel, % \MessageBreak % merci d'en choisir une seule.}{} +\msg{94}{Le changement de ponctuation (#1) \MessageBreak% + n'est plus permis apr\`es une utilisation de ponctuation active\MessageBreak % + (\string! \string? \string; \string: \string<\string< \string>\string>).}{} \msgheader{-**-\space} \msg*{**a}{Le num\'ero de s\'erie de \frenchpack\space est *\@FrVal*.}{} \msg*{**b}{\@FrVal\space of \frenchpack.}{} -- cgit v1.2.3