summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-04-02 23:05:05 +0000
committerKarl Berry <karl@freefriends.org>2011-04-02 23:05:05 +0000
commitc1db782e0c33211025b6c443c4417c4ceb41df75 (patch)
tree3b4bcf0e28c93e485940c1b3f4bd1fb6b68dd01a
parent415c24abe470da148593ebc536edc15c51cfdab9 (diff)
translation booktabs-fr (2apr11)
git-svn-id: svn://tug.org/texlive/trunk@21924 c570f23f-e606-0410-a88d-b1316a301751
l---------Master/texmf-dist/doc/latex/booktabs-fr/BundleCopyright1
-rw-r--r--Master/texmf-dist/doc/latex/booktabs-fr/README22
-rw-r--r--Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.dtx700
-rw-r--r--Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.pdfbin0 -> 232844 bytes
-rw-r--r--Master/texmf-dist/doc/latex/booktabs-fr/ltxdoc.cfg12
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds6
-rw-r--r--Master/tlpkg/tlpsrc/booktabs-fr.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc1
9 files changed, 741 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/latex/booktabs-fr/BundleCopyright b/Master/texmf-dist/doc/latex/booktabs-fr/BundleCopyright
new file mode 120000
index 00000000000..f6696d19f8c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/booktabs-fr/BundleCopyright
@@ -0,0 +1 @@
+../../../french-translations/Copyright \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/booktabs-fr/README b/Master/texmf-dist/doc/latex/booktabs-fr/README
new file mode 100644
index 00000000000..a88af74a203
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/booktabs-fr/README
@@ -0,0 +1,22 @@
+il s'agit du fichier booktabs.readme
+
+Ce package permet de réaliser des tableaux de qualité pour
+LaTeX (il peut être utilisé avec 2.09 avec une légère modification
+à booktabs.sty, documentée
+
+Pour la documentation (et même une justification pour recommander
+ce package), les utilisateurs de LaTeX2e n'ont qu'à imprimer le
+résultat de
+
+latex booktabs.dtx
+
+Les utilisateurs de 2.09 devront lire ce fichier du mieux qu'ils
+pourront.
+
+Simon Fear
+Dept Statistics and Computational Mathematics
+University of Liverpool
+Liverpool L69 3BX
+England
+
+6 novembre 1995
diff --git a/Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.dtx b/Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.dtx
new file mode 100644
index 00000000000..555bdbb4881
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.dtx
@@ -0,0 +1,700 @@
+% \iffalse meta comment
+% File: booktabs.dtx Copyright (C) 1995 Simon Fear
+% \fi
+%
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{booktabs}
+%<package> [1995/11/06 v1.00 publication quality tables]
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{booktabs}
+\usepackage[T1]{fontenc} % ajouté par le traducteur
+\usepackage[latin1]{inputenc} % ajouté par le traducteur
+\usepackage[frenchb]{babel} % ajouté par le traducteur
+ \title{Tableau de qualité pour la publication avec \LaTeX\thanks{Ce
+ fichier est la version v1.00, dernière révision du 6 novembre
+ 1995.}\ \thanks{Traduit en fran\c{c}ais par Jean-Pierre Drucbert et
+ Mathieu Goutelle le 2~mai~2001. Titre original <<~Publication quality
+ tables in \LaTeX~>>.}}
+ \author{Simon Fear\\University of Liverpool}
+ \date{Printed \today}
+ \MakeShortVerb{\=}
+ \MakeShortVerb{\"}
+\begin{document}
+ \maketitle
+ \DeleteShortVerb{\|}
+ \DocInput{f-booktabs.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{319}
+%
+% \begin{abstract}
+% Ce document décrit quelques commandes supplémentaires pour améliorer la
+% qualité des tables en \LaTeX. Des conseils sont donnés ici pour dire ce
+% qui constitue une <<~bonne\,\footnote{NdT : selon des règles
+% d'esthétiques particulières, que Simon C. Fear préfère.}~>> table dans
+% ce contexte.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% Les commandes décrites ci-dessous doivent faciliter la production de
+% tables telles qu'elles apparaissent (devraient apparaître) dans les
+% livres et journaux scientifiques publiés. Ce qui distingue ces tables de
+% celles que le \LaTeX{} normal est capable de produire est un espacement
+% au dessus et au dessous des filets et des filets d'épaisseur variable.
+% Ce qui les distingue encore plus des tables que beaucoup de gens
+% produisent \emph{en fait} en utilisant \LaTeX{} est l'absence de filets
+% verticaux et de filets doubles.
+%
+% Je dois faire une claire distinction entre ce que j'entends par une
+% \emph{table formelle}, qui est un ensemble de valeurs et de labels dans
+% des colonnes, et ce que j'appelle un \emph{tableau}, qui est le genre de
+% choses présentées dans le manuel \LaTeX, et qui est de plus en plus
+% commun comme sortie des systèmes de gestion ou de bases de données, avec
+% en plus des icônes en abondance, et probablement de la couleur par
+% dessus le marché. La mise en page d'un \emph{tableau} est déterminée
+% (heureusement) de manière unique, étant donné un paquet de matériel que
+% le concepteur essaie de combiner en une configuration significative.
+% Mais la mise en page d'une \emph{table} a été définie littéralement
+% depuis des siècles d'expérience et ne devrait être altérée que dans des
+% circonstances vraiment extraordinaires.
+%
+% Pour illustrer mon propos, considérons ce tableau extrait du manuel
+% \LaTeX{} (page~64 de l'ancienne édition):
+%
+% \begin{center}
+% \begin{tabular}{||l|lr||} \hline
+% gnats & gram & \$13.65 \\ \cline{2-3}
+% & each & .01 \\ \hline
+% gnu & stuffed & 92.50 \\ \cline{1-1} \cline{3-3}
+% emu & & 33.33 \\ \hline
+% armadillo & frozen & 8.99 \\ \hline
+% \end{tabular}
+% \end{center}
+%
+% C'est un fatras d'informations qui est probablement présenté
+% raisonnablement clairement ainsi (mais l'émeu est-il farci ou non?),
+% Cependant, pour une table publiée, elle devrait certainement suivre les
+% conseils donné plus bas sur cette page du manuel:
+%
+% \begin{center}
+% \begin{tabular}{@{}llr@{}} \toprule
+% \multicolumn{2}{c}{Item} \\ \cmidrule(r){1-2}
+% Animal & Description & Price (\$)\\ \midrule
+% Gnat & per gram & 13.65 \\
+% & each & 0.01 \\
+% Gnu & stuffed & 92.50 \\
+% Emu & stuffed & 33.33 \\
+% Armadillo & frozen & 8.99 \\ \bottomrule
+% \end{tabular}
+% \end{center}
+%
+% Vous pouvez notez que ceci en fait demande moins de travail pour mettre
+% ceci en page sous forme de table formelle; nous n'avons plus à
+% construire une nouvelle mise en page pour chaque table que nous faisons.
+% Bien plus, nous pouvons être presque certains que les données ne
+% pourront pas être mal lues (car le lecteur n'a pas à apprendre comment
+% lire chacun parmi l'infinie variété des tableaux possibles).
+%
+% La table ci-dessus ne peut pas être produite en \LaTeX{} pur,
+% malheureusement. Elle peut être mise en page comme elle devrait l'être,
+% mais malgré tous nos efforts, l'utilisation de simples commandes
+% =\hline= donne
+%
+% \begin{center}
+% \begin{tabular}{@{}llr@{}} \hline
+% \multicolumn{2}{c}{Item} \\ \cline{1-2}
+% Animal & Description & Price (\$)\\ \hline
+% Gnat & per gram & 13.65 \\
+% & each & 0.01 \\
+% Gnu & stuffed & 92.50 \\
+% Emu & stuffed & 33.33 \\
+% Armadillo & frozen & 8.99 \\ \hline
+% \end{tabular}
+% \end{center}
+%
+% Notez (si ce n'est pas déjà évident) qu'il n'y a pas assez d'espace
+% entre la ligne du haut et le I majuscule de <<~Item~>>, et de même pour
+% toutes les lignes: comparez avec la version précédente. De plus, les
+% filets (c'est-à-dire les lignes) du haut et du bas dans la première
+% version sont plus gras que le filet du milieu, qui à son tour est plus
+% gras que le filet mineur en dessous de <<~Item~>>. Oui, je \emph{sais}
+% que vous pouvez redéfinir =\doublerulesep= et ensuite utiliser
+% =\hline\hline= pour obtenir quelque chose donnant presque le même
+% effet, et vous pouvez utiliser des <<~struts~>> pour améliorer
+% l'espacement. Mais ce sont des astuces et vous ne devriez pas avoir à
+% vous soucier de telles choses. Le paquetage \texttt{booktabs} définit
+% ses propres commandes pour que ces problèmes soient pris en compte
+% automatiquement.
+%
+% En général, je voudrais dire que ce paquetage est sans intérêt pour ceux
+% qui cherche une alternative à Pic\TeX{} pour traiter des tableaux
+% sophistiqués. C'est plutôt un guide de style pour les auteurs d'articles
+% et de livres scientifiques en ce qui concerne la mise en page des
+% tables. Il n'est pas exagéré de dire que si vous ne pouvez pas créer une
+% table en utilisant les commandes de ce paquetage, c'est que vous l'avez
+% mal conçue.
+%
+% \subsection{Une note sur la terminologie}
+%
+% En typographie britannique, une <<~line~>> s'appelle toujours une
+% <<~rule~>> (NdT : en typographie française, une <<~ligne~>> s'appelle
+% toujours un <<~filet~>>). Peut-être en portant à confusion (pour des
+% raisons historiques), l'<<~épaisseur~>> d'un filet est souvent appelée
+% sa <<~largeur~>> (alors que n'importe qui d'autre l'appellerait sa
+% <<~profondeur~>> ou <<~hauteur~>>, s'il pensait à un filet horizontal).
+% Une <<~ligne noire épaisse~>> est appelée un <<~filet gras~>> (<<~heavy
+% rule~>>). Cette terminologie (britannique) est utilisée dans la plupart
+% des nouvelles commandes décrites ci-dessous. Au moins cela évite la
+% confusion avec =\hline=.
+%
+% \subsection{La mise en page des tables formelles}
+% Vous ne ferez pas de graves erreurs si vous vous rappelez à tout moment
+% de deux simples commandements:
+% \begin{enumerate}
+% \item Ne jamais, au grand jamais, utiliser de filets verticaux.
+% \item Ne jamais utiliser de filets doubles.
+% \end{enumerate}
+% Ces commandements peuvent sembler extrêmes mais en des années
+% d'expérience je n'ai jamais trouvé un bon argument pour passer outre.
+% Par exemple, si vous sentez que les informations dans la moitié gauche
+% d'une table sont si différentes de celles de la droite qu'il faut les
+% séparer par une ligne verticale, alors vous devriez plutôt utiliser deux
+% tables. Le second commandement est très, très occasionnellement violé:
+% j'ai travaillé pour un éditeur qui insistait pour placer un filet fin
+% double au dessus d'une rangée de totaux. Mais ce n'aurait pas été mon
+% choix.
+%
+% Il y a trois autres conseils que je pourrai citer ici car ils sont si peu
+% connus en dehors des cercles des typographes et éditeurs professionnels:
+% \begin{enumerate}
+% \item Placez les unités dans l'en-tête de la colonne (pas dans le corps de
+% la table).
+% \item Faites toujours précéder un point décimal (une virgule décimale en
+% français) par un chiffre; donc 0.1 (ou 0,1) et \emph{pas} simplement .1
+% (,1).
+% \item N'utilisez pas de signes <<~ditto~>> ou toute convention analogue
+% pour répéter une valeur précédente. Dans la plupart des cas, un blanc fait
+% aussi bien l'affaire. Sinon, répétez la valeur.
+% \end{enumerate}
+%
+% Est-ce que c'est moi qui suis pédant? Ces derniers conseils sont de plus en
+% plus souvent ignorés dans les travaux publiés. Pour moi, ceci montre
+% simplement que la typographie est celle d'un amateur.
+%
+% De toute façon, que vous vouliez ou non suivre ces embellissements mineurs,
+% si vous n'utilisez que les commandes suivantes dans vos tables formelles,
+% votre lecteur sera reconnaissant. (Je répète que ces conseils ne sont pas
+% seulement pour faire plaisir au pédant. Une structure de présentation
+% améliorée commence par améliorer la pensée structurée).
+%
+% \section{Utilisation des nouvelles commandes}
+%
+% \DescribeMacro\toprule
+% \DescribeMacro\midrule
+% \DescribeMacro\bottomrule
+% Dans les cas les plus simples une table commence par une =\toprule=, a une
+% rangée simple d'en-têtes de colonnes, puis un filet de séparation appelé ici
+% =\midrule=; après les colonnes de données nous terminons par une
+% =\bottomrule=. La plupart des éditeurs de livres rendent les filets
+% =\toprule= et =\bottomrule= plus gras (c'est-à-dire plus larges,
+% ou plus sombres; c'est une question de notation) que le filet intermédiaire
+% =\midrule=. Cependant, lorsque les tables sont en très petits
+% caractères, il est parfois impossible de faire cette distinction, et de plus
+% quelques journaux utilisent des filets qui sont tous de même épaisseur. Les
+% commandes de filet de ce paquetage ont toutes une épaisseur par défaut qui
+% peut être modifiée à l'intérieur du document (de préférence, mais pas
+% obligatoirement, dans le préambule). Pour les filets du haut et du bas,
+% c'est =\heavyrulewidth= et pour les filets intermédiaires c'est
+% =\lightrulewidth= (ces commandes sont décrites complètement plus loin). Dans
+% de très rares cas, vous pouvez utiliser les arguments optionnels des
+% commandes de filet qui ont la syntaxe formelle suivante:
+% \begin{quote}
+% "\toprule["\meta{largeur}"]" \\
+% "\midrule["\meta{largeur}"]" \\
+% "\bottomrule["\meta{largeur}"]"
+% \end{quote}
+% où \meta{largeur} est une dimension \TeX{} (par exemple 1pt, .4em, etc.).
+%
+% Toutes les commandes de filets décrites ici se placent immédiatement après
+% la commande =\\= qui termine la rangée précédente (sauf bien sûr pour
+% =\toprule=, qui se place juste après le début de l'environnement
+% \texttt{tabular}); en d'autres termes, exactement là où le \LaTeX{} standard
+% permet =\hline= ou =\cline=.
+%
+% \DescribeMacro\cmidrule
+% Bien sûr plus souvent que nous le voudrions nous avons besoin d'un filet qui
+% ne s'étend que sur certaines des colonnes, filet pour lequel nos utiliserons
+% =\cmidrule= (analogue \`a la commande =\cline= de \LaTeX). En général, ce
+% filet ne devrait pas recouvrir complètement les colonnes terminales, est
+% ceci est en particulier le cas lorsque nous devons commencer une =\cmidrule=
+% immédiatement après la fin d'une autre (les =\cline='s de \LaTeX{} se
+% touchent si vous n'êtes pas extrêmement attentifs à =\extracolsep=). Donc
+% vous voudrez en général utiliser les commandes optionnelles de
+% raccourcissement (<<~trimming~>>), qui sont =(r)=, =(l)= et =(rl)= ou
+% =(lr)=, qui indiquent si les extrémités droite et/ou gauche du filet doivent
+% être rognées. Notez l'utilisation exceptionnelle de \emph{parenthèses} au
+% lieu d'accolades ou de crochets pour cette commande, dont la syntaxe
+% complète est
+% \begin{quote}
+% "\cmidrule["\meta{largeur}"]("\meta{rognage}"){"$a$--$b$"}"
+% \end{quote}
+% où \meta{largeur} est encore une épaisseur optionnelle de filet (dont la valeur
+% par défaut est ici =\cmidrulewidth=) et le dernier argument, qui n'est pas
+% optionnel, donne les numéros des colonnes à englober.
+%
+% Un exemple d'utilisation de ces commandes est donné par le code utilisé pour
+% produire l'exemple de table ci-dessus:
+% \begin{verbatim}
+% \begin{tabular}{@{}llr@{}} \toprule
+% \multicolumn{2}{c}{Item} \\ \cmidrule(r){1-2}
+% Animal & Description & Price (\$)\\ \midrule
+% Gnat & per gram & 13.65 \\
+% & each & 0.01 \\
+% Gnu & stuffed & 92.50 \\
+% Emu & stuffed & 33.33 \\
+% Armadillo & frozen & 8.99 \\ \bottomrule
+% \end{tabular}
+% \end{verbatim}
+%
+% \DescribeMacro\addlinespace
+% Occasionnellement nous désirons mettre un espacement supplémentaire entre
+% certaines rangées d'une table; par exemple, avant la dernière rangée, si
+% c'est un total (un espacement est ici préférable à une autre =\midrule=,
+% selon mon opinion). Il suffit d'insérer
+% \begin{quote}
+% "\addlinespace["\meta{largeur}"]"
+% \end{quote}
+% après le marqueur d'alignement =\\=. Il n'est pas mauvais de voir
+% =\addlinespace= comme étant un filet blanc d'épaisseur \meta{largeur}.
+% L'espacement par défaut est =\defaultaddspace= qui donne bien moins qu'un
+% interligne complet (comme ce que vous obtiendriez en utilisant =\\ \\= à la
+% fin de la ligne; ceci donne vraiment trop d'espace dans la plupart des cas).
+%
+% \section{Abus des nouvelles commandes}
+% Il faut le reconnaître, cela ne marche pas tout seul, et il y a donc
+% quelques conseils et des commandes supplémentaires pour les \TeX perts et
+% les touche-à-tout.
+%
+% Les nouvelles commandes de filet ne sont pas garanties pour fonctionner avec
+% =\hline= ou =\cline=, bien que celles-ci restent disponibles et inchangées.
+% Je ne peut prévoir aucune raison pour vouloir les mélanger.
+%
+% Plus sérieusement, les filets engendrés par les nouvelles commandes ne sont
+% pas garantis pour se connecter aux filets verticaux engendrés par des
+% caractères =|= dans le préambule de la table. Ceci est une particularité
+% (voir plus haut). Vous ne devriez pas utiliser de filets verticaux dans les
+% tables, point final.
+%
+% \DescribeMacro\morecmidrules
+% Si vous ne pouvez pas vous empêcher d'utiliser un filet double, même une
+% construction aussi bizarre que =\toprule==\bottomrule==\midrule=
+% fonctionnera sans provoquer de message d'erreur (tout comme vous pouviez
+% utiliser une double =\hline=). Ces filets seront séparées de l'intervalle
+% =\doublerulesep= du \LaTeX{} normal. Cependant si votre perversion va
+% jusqu'à vouloir des =\cmidrule= doubles, vous aurez besoin de la commande
+% supplémentaire =\morecmidrules= pour le faire correctement, car normalement
+% deux commandes =\cmidrule= de suite est une construction parfaitement
+% correcte demandant deux filets sur le même <<~filet de rangée~>>. Donc dans
+% \begin{quote}
+% "\cmidrule{1-2}\cmidrule{1-2}"
+% \end{quote}
+% la seconde commande écrit un filet qui vient se placer exactement sur le
+% premier; je suppose que vous vouliez
+% \begin{quote}
+% "\cmidrule{1-2}\morecmidrules\cmidrule{1-2}"
+% \end{quote}
+% qui donne un filet double entre les colonne une et deux, séparés de
+% =\cmidrulesep= (note: puisque qu'une =\cmidrule= donne un filet très fin, la
+% valeur ordinaire =\doublerulesep= donnerait probablement un espacement trop
+% grand). Il faut terminer une rangée complète de filets avant de mettre la
+% commande =\morecmidrules=. Notez que =\morecmidrules= n'a aucun effet si
+% elle ne suit pas immédiatement une =\cmidrule= (ie n'est donc pas une
+% commande générale d'espacement).
+%
+% \DescribeMacro\specialrule
+% Parler de ceci nous amène à l'abus de =\addlinespace= pour engendrer un
+% espacement supplémentaire curieux entre des filets. Ne le faites pas (ce
+% n'est cependant pas vraiment illégal). Utilisez plutôt
+% \begin{quote}
+% "\specialrule{"\meta{largeur}"}{"\meta{espace au dessus}"}{"\meta{espace au dessous}"}"
+% \end{quote}
+% où il faut noter que les trois arguments sont obligatoires (je ne me suis
+% pas soucié d'établir des valeurs par défaut). Si vous utilisez ceci
+% fréquemment, vous n'avez pas compris le but et le contenu des conseils
+% donnés plus haut. Note technique: aucun espacement n'est ajouté après un
+% filet précédent, mais un filet suivant engendrera un espacement
+% =\doublerulesep= au dessus de lui. Pourquoi lisez-vous cette section ?
+%
+% \section{Sommaire technique des commandes}
+% Les nouvelles commandes de filets sont valides à l'intérieur de
+% l'environnement \texttt{tabular} (et en fait aussi à l'intérieur de
+% l'environnement \texttt{array} et de ses dérivés), dans toutes les versions
+% de \LaTeX{} (vous devrez retirer la ligne
+% \begin{quote}
+% "\ProvidesPackage{booktabs}"
+% \end{quote}
+% de =booktabs.sty= pour fonctionner sous \LaTeX{}2.09 et les versions
+% antérieures), et entièrement compatible avec l'environnement \texttt{array}
+% du paquetage \texttt{array} fourni avec \LaTeXe.
+%
+% Les commandes suivent la syntaxe de placement standard de =\hline=. Si des
+% commandes de filets sont doublées, il est plus prudent de vérifier qu'il n'y
+% a pas d'espace entre les commandes. (Dans de nombreux cas, l'oubli de cette
+% règle de sécurité donnera le message étrange <<~=misplaced noalign{=~>>.)
+% N'utilisez pas de filets doubles !
+%
+% Dans ce qui suit, un <<~filet~>> est l'une des commandes =\toprule=,
+% =\midrule=, =\bottomrule=, =\cmidrule=, =\specialrule= ou =\addlinespace=.
+% Notez en particulier la présence de la commande =\addlinespace= dans cette
+% liste; et l'exclusion de =\hline= et =\cline=, qui donneront des résultats
+% imprévisibles si vous les mélanger avec les premières.
+%
+% \begin{quote}
+% "\toprule["\meta{largeur}"]"
+% \end{quote}
+% Un filet de largeur \meta{largeur} (défaut =\heavyrulewidth=) avec
+% =\belowrulesep= d'espacement vertical supplémentaire inséré en dessous de
+% lui (sauf si il est suivi d'une autre commande de filet, auquel cas un
+% espacement vertical =\doublerulesep= suit).
+% \begin{quote}
+% "\midrule["\meta{largeur}"]"
+% \end{quote}
+% Un filet de largeur \meta{largeur} (défaut =\lightrulewidth=) avec un espacement
+% =\aboverulesep= au dessus de lui (sauf si précédé d'un autre filet, auquel
+% cas il en sera séparé de la quantité =\doublerulesep=) et avec un espacement
+% =\belowrulesep= en dessous de lui (à moins qu'un autre filet suive).
+% \begin{quote}
+% "\bottomrule["\meta{largeur}"]"
+% \end{quote}
+% Un filet de largeur \meta{largeur} (défaut =\heavyrulewidth=) avec un espacement
+% =\aboverulesep= au dessus de lui (sauf s'il est précédé d'un autre filet,
+% duquel il sera séparé de la quantité =\doublerulesep=) et avec un espacement
+% =\belowrulesep= en dessous de lui (à moins qu'un autre filet le suive).
+% L'espacement supplémentaire en dessous permet de laisser de l'espace pour
+% des notes en bas de table.
+% \begin{quote}
+% "\cmidrule["\meta{largeur}"]("\meta{rognage}"){"$a$--$b$"}"
+% \end{quote}
+% Un filet de largeur \meta{largeur} (défaut =\cmidrulewidth=) avec un espacement
+% =\aboverulesep= au dessus de lui (sauf si il suit un autre =\cmidrule=,
+% auquel cas il est sur le même alignement vertical; ou si il suit tout
+% autre filet, séparé de =\doublerulesep=; ou si il suit =\morecmidrules=,
+% séparé de =\cmidrulesep=), et avec l'espacement =\belowrulesep= en dessous
+% de lui (à moins d'être suivi d'une autre =\cmidrule=, auquel cas le filet
+% suivant est sur le même alignement vertical; ou si suivi de
+% =\morecmdirules=, avec l'espacement =\cmidrulesep= en dessous).
+%
+% Le filet s'étend sur les colonnes $a$ à $b$. L'argument optionnel \meta{trim}
+% qui se place entre parenthèses s'il est présent, peut être =r= pour rogner
+% sur la droite, =l= pour rogner sur la gauche, ou les deux.
+% \begin{quote}
+% "\addlinespace["\meta{largeur}"]"
+% \end{quote}
+% En fait considéré comme un filet de largeur nulle (donc invisible) sans
+% espacement supplémentaire au dessus et un espacement \meta{largeur} (qui est par
+% défaut =\defaultaddspace=) au dessous (si un autre filet suit, celui-ci sera
+% séparé en plus de =\doublerulesep=). En pratique, n'utilisez cette commande
+% que pour ajouter de l'espace entre des rangées dans le corps de la table.
+% \begin{quote}
+% "\specialrule{"\meta{largeur}"}{"\meta{espace au dessus}"}{"\meta{espace au dessous}"}"
+% \end{quote}
+% Un filet de largeur \meta{largeur} (notez l'argument obligatoire) avec un
+% \meta{espace au dessus} et un \meta{espace au dessous} (sauf si un autre filet
+% suit, auquel cas la séparation sera encore augmentée de =\doublerulesep=).
+% \begin{quote}
+% "\morecmidrules"
+% \end{quote}
+% Avertit \LaTeX{} qu'il faut commencer une nouvelle rangée de =\cmidrule=,
+% séparée de la dernière par =\cmidrulesep=. N'a aucun effet en dehors de ce
+% contexte.
+%
+% Les dimensions par défaut sont
+% \begin{quote}
+% "\heavyrulewidth=.08em" \\
+% "\lightrulewidth=0.5em" \\
+% "\cmidrulewidth=0.3em" \\
+% "\belowrulesep=.65ex" \\
+% "\aboverulesep=.4ex" \\
+% "\defaultaddspace=.5em" \\
+% "\cmidrulekern=.25em"
+% \end{quote}
+% La dernière d'entre elles, =\cmidrulekern=, est la quantité dont une
+% =\cmidrule= est rognée à chaque bout indiqué dans les options
+% =()=. Dans la construction
+% \begin{quote}
+% "\cmidrule(r){1-2}\cmidrule(l){3-4}"
+% \end{quote}
+% il y a un total de 0.5~em séparant les deux filets. Actuellement le seul
+% moyen pour obtenir des effets spéciaux est de modifier comme il convient la
+% valeur de =\cmidrulekern=; la valeur du raccourcissement n'est pas
+% disponible sous forme d'argument dans le codage actuel de =\cmidrule=.
+%
+% L'usager peut modifier ces valeurs par défaut au vol en insérant simplement
+% une commande exactement sous le format ci-dessus; la redéfinition restera
+% effective pour le reste du document ou jusqu'à la prochaine redéfinition.
+%
+% \section{Support de \texttt{firsthline} et \texttt{lasthline}}
+% Oui, d'une certaine manière, mais essentiellement non. Ceci ne s'applique
+% pas en fait. Les commandes de ce paquetage ne sont pas faites pour faire de
+% belles choses avec des boîtes; celles-ci sont des tableaux et non des
+% tables. Vous ne voudrez jamais, jamais, placer une table formelle au milieu
+% d'une ligne de texte.
+%
+% Cependant, si vous utilisez le paquetage \texttt{array}, les commandes ne
+% sont pas altérées par le code présent (par exemple =\hline= et =\cline=
+% restent actives).
+%
+% \section{Remerciements}
+% Je\footnote{NdT : Simon Fear} suis grandement redevable bien sûr à DEK et
+% Lamport ; l'argument optionnel et le code de =\cmidrule= notamment est
+% copié et adapté de =latex.sty=. La documentation est massivement tirée de
+% la description du package =dcolumn.dtx= de David Carlisle.
+%
+% Pour les tests et les encouragements...
+%
+% \StopEventually
+%
+% \section{Le code}
+%
+% La version actuelle est définie au début du fichier par quelquechose
+% ressemblant à ça :
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{booktabs}
+ [\filedate\space version\fileversion]
+% \end{macrocode}
+%
+% D'abord nous définissons les nouvelles dimensions décrites plus haut :
+% \begin{macrocode}
+\newdimen\heavyrulewidth
+\newdimen\lightrulewidth
+\newdimen\cmidrulewidth
+\newdimen\belowrulesep
+\newdimen\aboverulesep
+\newdimen\cmidrulesep
+\newdimen\cmidrulekern
+\newdimen\defaultaddspace
+\heavyrulewidth=.08em
+\lightrulewidth=.05em
+\cmidrulewidth=.03em
+\belowrulesep=.65ex
+\aboverulesep=.4ex
+\cmidrulesep=\doublerulesep
+\cmidrulekern=.25em
+\defaultaddspace=.5em
+% \end{macrocode}
+% et quelques compteurs internes, sans intérêt pour l'utilisateur :
+% \begin{macrocode}
+\newcount\rulesflag
+\newdimen\@cmidrulewidth
+\newcount\@cmidla
+\newcount\@cmidlb
+\rulesflag=0
+% \end{macrocode}
+% qui seront décrits plus bas si besoin.
+%
+% \subsection{Filets en pleine largeur}
+%
+% Nous plaçons le filet en pleine largeur dans un groupe =\noalign{}=, en
+% utilisant une grosse astuce ("\ifnum=0`}") pour faire croire à l'analyseur
+% que le nombre d'accolades est correct. L'accolade sera réellement
+% fermée après tout le traitement à la fin de la macro =\@endrule=.
+%
+% \begin{macro}{\toprule}
+% \begin{macrocode}
+\def\toprule{\noalign{\ifnum0=`}\fi
+ \@ifnextchar[{\@toprule}{\@toprule[\heavyrulewidth]}}
+% \end{macrocode}
+% Cela tient compte de l'argument optionnel de =\toprule= : s'il y en a
+% un, il est passé à =\@toprule=, sinon l'appel est fait avec la taille
+% par défaut =\heavyrulewidth=.
+%
+% Dans la suite, si =\rulesflag= a été défini (avec la valeur 1), nous
+% venons juste de créer un précédent filet qui avait été modifié
+% exceptionellement pour ne pas avoir un espacement normal après, donc
+% nous devons placer =\doublerulesep= avant ce =\toprule=; ensuite, nous
+% réinitialisons =\rulesflag= à zéro.
+% Note : nous ne pouvons pas juste ajouter toujours =\belowrulesep= après
+% un =\toprule=, parce que il pourrait y avoir un =\doublerulesep= entre
+% deux filets successifs. En revanche, nous pouvons interdire tout
+% simplement les files doubles !
+% \begin{macrocode}
+\def\@toprule[#1]{\ifnum\rulesflag=1\vskip
+ \doublerulesep\global\rulesflag=0\fi
+ \hrule \@height#1\futurelet\@tempa\@endrule}
+% \end{macrocode}
+%
+% À la troisième ligne au dessus, nous avons ajouter le filet et nous
+% appelons la routine de fin =\@endrules= avec =\@tempa= égal au
+% \emph{token} suivant le filet dans le document.
+% \begin{macrocode}
+\def\@endrule{\ifx\@tempa\toprule\global\rulesflag=1%
+ \else\ifx\@tempa\midrule\global\rulesflag=1%
+ \else\ifx\@tempa\bottomrule\global\rulesflag=1%
+ \else\ifx\@tempa\cmidrule\global\rulesflag=1%
+ \else\ifx\@tempa\specialrule\global\rulesflag=1%
+ \else\ifx\@tempa\addlinespace\global\rulesflag=1%
+ \else\vskip \belowrulesep\fi\fi\fi\fi\fi\fi\ifnum0=`{\fi}}
+% \end{macrocode}
+% Ici, si la commande suivante est un autre filet ou un interligne (la
+% honte sur l'utilisateur !), nous avons initialisé =\rulesflag= à 1 sans
+% ajouter d'espace. Sinon, nous avons placé, après, l'espacement approrié.
+% \end{macro}
+%
+% \begin{macro}{\midrule}
+% \begin{macro}{\bottomrule}
+% Le code est presque le même que pour =\topriule=, sauf pour l'ajout de
+% l'espace suivant le filet.
+%
+% Notons qu'en ce qui concerne la programmation, un =\bottomrule= est
+% simplement un =\midrule= large (mais l'utilisateur ne doit pas penser
+% de cette façon.
+% \begin{macrocode}
+\def\midrule{\noalign{\ifnum0=`}\fi
+ \@ifnextchar[{\@midrule}{\@midrule[\lightrulewidth]}}
+\def\@midrule[#1]{\ifnum\rulesflag=1\vskip
+ \doublerulesep\global\rulesflag=0
+ \else\vskip \aboverulesep\fi
+ \hrule \@height#1\futurelet\@tempa\@endrule}
+\def\bottomrule{\noalign{\ifnum0=`}\fi
+ \@ifnextchar[{\@midrule}{\@midrule[\heavyrulewidth]}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\addlinespace}
+%
+% Un =\addlinespace= est traité comme une ligne de largeur nulle, sans
+% espace avant et avec après l'espacement donné en argument (ou par
+% défaut). Notez que la ligne suivante sera ajouté après un espace
+% \emph{supplémentaire} de =\doublerulesep=. L'utilisateur n'est pas
+% encouragé à ajouter de l'espace avant/après les filets avec
+% =\addlinespace=. Si besoin, il devra utiliser =\specialrule=.
+% \begin{macrocode}
+\def\addlinespace{\noalign{\ifnum0=`}\fi
+ \@ifnextchar[{\@addspace}{\@addspace[\defaultaddspace]}}
+\def\@addspace[#1]{\ifnum\rulesflag=1\global\rulesflag=0\fi
+ \vskip #1\futurelet\@tempa\@endrule}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\specialrule}
+% Ceci est inclus avec une certaine appréhension puisque cela permet à
+% l'utilisateur de faire des choses stupides. Mais, un \emph{designer}
+% pourrait avoir besoin de ceci (ou d'une adaptation).
+%
+% Notez qu'un =\toprule= suivant se comportera comme attendu (pas
+% d'espace supplémentaire avant), mais un =\midrule= ou un =\bottomrule=
+% ajoutera =\aboverulespace=, pendant que =\cmidrule= ajoutera
+% =\doublerulesep=. Pourquoi voudriez vous faire ceci de toute façon ?
+% \begin{macrocode}
+\def\specialrule#1#2#3{\noalign{
+ \ifnum\rulesflag=1\global\rulesflag=0
+ \else\vskip #2\fi\hrule \@height#1\vskip #3}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Filets spéciaux}
+%
+% \begin{macro}{\cmidrule}
+% =\cmidrule= utilise =\rulesflag= d'une manière un peu différente. Il
+% est mis (ou laissé) à 1 si vous êtes au milieu d'une ligne de
+% =\cmidrule= ou si vous en commencez une nouvelle (avec
+% =\morecmidrules=). Sinon, si =\rulesflag= vaut zéro, nous faisons
+% précéder le filet par =\aboverulesep=.
+% \begin{macrocode}
+\def\cmidrule{\noalign{\ifnum0=`}\fi
+ \@ifnextchar[{\@cmidrule}{\@cmidrule[\cmidrulewidth]}}
+\def\@cmidrule[#1]{\@ifnextchar({\@@cmidrule[#1]}{\@@cmidrule[#1]()}}
+\def\@@cmidrule[#1](#2)#3{\@@@cmidrule[#3]{#1}{#2}}
+% \end{macrocode}
+% Ce qui précède est du bidouillage pour initialiser les valeurs par défaut des
+% arguments optionnels manquants. Nous passons également à =\@@@cmidrule=
+% les arguments dans un ordre différent, c'est-à-dire =[a-b]=={largeur demandée}=
+% ={commandes de rognage}= (je ne parviens pas à me souvenir pourquoi j'ai
+% fait ça).
+% \begin{macrocode}
+\def\@@@cmidrule[#1-#2]#3#4{\global\@cmidla#1\relax
+ \global\advance\@cmidla\m@ne
+ \ifnum\@cmidla>0\global\let\@gtempa\@cmidrulea\else
+ \global\let\@gtempa\@cmidruleb\fi
+ \global\@cmidlb#2\relax
+ \global\advance\@cmidlb-\@cmidla
+% \end{macrocode}
+% Cela a créé un un branchement conditionnel pour appeler la routine
+% appropriée, =\@cmidrulea= ou =\@cmidruleb=, selon que nous commençons
+% dans la première colonne ou non (quelle perte de temps !).
+% \begin{macrocode}
+ \global\@cmidrulewidth=#3
+% \end{macrocode}
+% Il s'agit soit de la valeur par défaut ou de la valeur passée en argument.
+%
+% Maintenant, nous analysons les arguments (le cas échéant) :
+% \begin{macrocode}
+ \global\let\cmlkern@l\z@ \global\let\cmlkern@r\z@
+ \@tfor\@tempa :=#4\do{\global\expandafter\let
+ \csname cmlkern@\@tempa\endcsname\cmidrulekern}%
+% \end{macrocode}
+% Maintenant, il faut insérer l'espace au dessus si besoin, fermer le
+% =\noalign=, puis passer à la bonne routine de dessin du filet, définie plus
+% haut (=\let\@gtempa=) :
+% \begin{macrocode}
+\ifnum\rulesflag=0\vskip \aboverulesep\fi\ifnum0=`{\fi}\@gtempa
+% \end{macrocode}
+% Maintenant, on ouvre un autre =\noalign= et on appelle la routine de
+% fin.
+% \begin{macrocode}
+ \noalign{\ifnum0=`}\fi\futurelet\@tempa\@xcmidrule}
+% \end{macrocode}
+%
+% Ce code (appelé plus haut) dessine effectivement les filets :
+% \begin{macrocode}
+\def\@cmidrulea{\multispan\@cmidla&\multispan\@cmidlb
+ \unskip\hskip \cmlkern@l\leaders\hrule \@height\@cmidrulewidth\hfill
+ \hskip \cmlkern@r\cr}
+\def\@cmidruleb{\multispan\@cmidlb
+ \unskip\hskip \cmlkern@l\leaders\hrule \@height\@cmidrulewidth\hfill
+ \hskip \cmlkern@r\cr}
+% \end{macrocode}
+% Pour finir, la routine de fin. Si un autre =\cmidrule= suit, on supprime
+% l'espace vertical pour qu'il se chevauche et "\rulesflag=1" empêchera
+% d'ajouter de l'espace au dessus du suivant. Si =\morecimdrules= suit, on
+% ajoute =\cmidrulesep= (et on met encore =\rulesflag= à 1). Dans les autres
+% cas, il s'agit du dernier filet du groupe actuel et nous devons juste
+% ajouter l'espacement =\belowrulesep=.
+%
+% Finalement, nous fermons le =\noalign=.
+% \begin{macrocode}
+\def\@xcmidrule{\ifx\@tempa\cmidrule\vskip-\@cmidrulewidth
+ \global\rulesflag=1\else
+ \ifx\@tempa\morecmidrules\vskip \cmidrulesep
+ \global\rulesflag=1\else
+ \vskip \belowrulesep\global\rulesflag=0\fi\fi
+ \ifnum0=`{\fi}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\morecmidrules}
+% Il s'agit vraiment d'une fausse commande ; tout le travail a été fait plus
+% haut, dans la routine =\cmidrule=. Nous regardons un pas en avant pour voir
+% si un =\morecmidrules= suit l'actuel =\cmidrule=, et le cas échéant, on
+% active l'indicateur =\rulesflag=. Autrement, la commande =\morecmidrules=
+% en elle même ne fait rien.
+% \begin{macrocode}
+\def\morecmidrules{\noalign{\relax}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%
diff --git a/Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.pdf b/Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.pdf
new file mode 100644
index 00000000000..039d2cea26f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/booktabs-fr/f-booktabs.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/booktabs-fr/ltxdoc.cfg b/Master/texmf-dist/doc/latex/booktabs-fr/ltxdoc.cfg
new file mode 100644
index 00000000000..250ceb284ba
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/booktabs-fr/ltxdoc.cfg
@@ -0,0 +1,12 @@
+%\ifx\traductionchanges\undefined\else
+ \AtBeginDocument{%
+ \def\HistoryName{Historique des changements}
+ \def\generalname{G\'en\'eral}
+ \GlossaryPrologue{\section*{{\HistoryName}}%
+ \markboth{{\HistoryName}}{{\HistoryName}}%
+ }}
+%\fi
+%\AtBeginDocument{\RecordChanges}
+%\AtEndDocument{\PrintChanges\AlsoImplementation}
+\AtEndOfClass{\RequirePackage[T1]{fontenc}%
+ \RequirePackage{lmodern}}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 46140ece1d7..37cb7bc93b8 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -64,7 +64,7 @@ my @TLP_working = qw(
blacklettert1 blindtext blkarray block blockdraw_mp blowup
bodegraph boisik bold-extra
boites boldtensors bondgraph bookest booklet
- booktabs booktabs-de boolexpr bophook
+ booktabs booktabs-de booktabs-fr boolexpr bophook
borceux bosisio
boxedminipage boxhandler bpchem bpolynomial
bracketkey braille braket breakcites breakurl
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 388ccc90726..2039f9174e2 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1008,7 +1008,8 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$';
'bibtex', 'apalike\..*|' . $standardtex,
'bidi', '^bidi\.tex|' . $standardtex,
'blockdraw_mp','NULL', # skip .sty's
- 'booktabs-de', 'NULL', # all doc
+ 'booktabs-de', 'NULL', # doc package
+ 'booktabs-fr', 'NULL', # doc package
'breqn', '\.sty|\.sym',
'c-pascal', '^[^d].*\.tex|' . $standardtex, # not demo*.tex
'calxxxx', 'cal.*\.tex',
@@ -1531,7 +1532,8 @@ $standardsource='\.(c|drv|dtx|fea|fdd|ins|sfd)$|configure.*|install-sh';
'biber', '.*', # keep all, lots to do in post
'bigints', 'NULL',
'blacklettert1', '\.dtx|\.ins|\.pl|Makefile',
- 'booktabs-de', 'NULL', # keep together
+ 'booktabs-de', 'NULL', # doc package
+ 'booktabs-fr', 'NULL', # doc package
'carlisle', '\.dtx|\.ins|ltxtable\.tex',
'chemarrow', '\.mp|\.vfb',
'concmath-fonts', 'NULL',
diff --git a/Master/tlpkg/tlpsrc/booktabs-fr.tlpsrc b/Master/tlpkg/tlpsrc/booktabs-fr.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/booktabs-fr.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc b/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc
index 6c582355001..07a5895bcac 100644
--- a/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc
@@ -4,6 +4,7 @@ longdesc Support for typesetting French.
depend aeguill
depend bib-fr
depend bibleref-french
+depend booktabs-fr
depend frenchle
depend frletter
depend mafr