summaryrefslogtreecommitdiff
path: root/language/french
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-05 03:01:00 +0000
committerNorbert Preining <norbert@preining.info>2019-09-05 03:01:00 +0000
commitd56250bee15780c71fda0c1bad15a4c9ead36070 (patch)
tree62a7a64b28139dc5d3fe846998a812f0bc9c3054 /language/french
parent5ed1f9609b6386d24a794a3e2d1419794a774610 (diff)
CTAN sync 201909050300
Diffstat (limited to 'language/french')
-rw-r--r--language/french/e-french/README11
-rw-r--r--language/french/e-french/install/MiniDoc_Unx.txt2
-rw-r--r--language/french/e-french/install/MiniDoc_Win.txt2
-rw-r--r--language/french/e-french/install/Probl_Msg.pdfbin35081 -> 35060 bytes
-rw-r--r--language/french/e-french/texmf/doc/Probl_Msg.pdfbin35368 -> 35060 bytes
-rw-r--r--language/french/e-french/texmf/doc/manuels/efrench.pdfbin829862 -> 844115 bytes
-rw-r--r--language/french/e-french/texmf/doc/manuels/faq.pdfbin259545 -> 274334 bytes
-rw-r--r--language/french/e-french/texmf/doc/manuels/french_doc.pdfbin139477 -> 141598 bytes
-rw-r--r--language/french/e-french/texmf/doc/src/efrench.tex203
-rw-r--r--language/french/e-french/texmf/doc/src/faq.tex2
-rw-r--r--language/french/e-french/texmf/doc/src/french_doc.txt152
-rw-r--r--language/french/e-french/texmf/tex/french-msg.tex3
-rw-r--r--language/french/e-french/texmf/tex/french.sty171
-rw-r--r--language/french/e-french/texmf/tex/french_french-msg.tex3
14 files changed, 407 insertions, 142 deletions
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 <http://www.laurentbloch.org/MySpip3/spip.php?article166>
+Laurent Bloch <https://www.laurentbloch.net/MySpip3/e-french-desormais-dans-les-depots-TeXLive-et-MiKTeX>
(/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 <http://www.laurentbloch.org/MySpip3/spip.php?article166>
+Laurent Bloch <https://www.laurentbloch.net/MySpip3/e-french-desormais-dans-les-depots-TeXLive-et-MiKTeX>
diff --git a/language/french/e-french/install/Probl_Msg.pdf b/language/french/e-french/install/Probl_Msg.pdf
index 2441b7c648..af937d36d5 100644
--- a/language/french/e-french/install/Probl_Msg.pdf
+++ b/language/french/e-french/install/Probl_Msg.pdf
Binary files 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
--- a/language/french/e-french/texmf/doc/Probl_Msg.pdf
+++ b/language/french/e-french/texmf/doc/Probl_Msg.pdf
Binary files 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
--- a/language/french/e-french/texmf/doc/manuels/efrench.pdf
+++ b/language/french/e-french/texmf/doc/manuels/efrench.pdf
Binary files 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
--- a/language/french/e-french/texmf/doc/manuels/faq.pdf
+++ b/language/french/e-french/texmf/doc/manuels/faq.pdf
Binary files 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
--- a/language/french/e-french/texmf/doc/manuels/french_doc.pdf
+++ b/language/french/e-french/texmf/doc/manuels/french_doc.pdf
Binary files 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.}{}