Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
3_composition:tableaux:filets:epaisseur_des_lignes [2018/12/09 11:24]
jejust
3_composition:tableaux:filets:epaisseur_des_lignes [2021/05/13 21:25]
jejust Intégration du contenu de la page "3_composition/tableaux/filets/epaisseur_des_lignes2". Restructuration de la réponse de la FAQ francophone.
Ligne 1: Ligne 1:
-====== Comment modifier l'​épaisseur des filets d'un tableau? ======+====== Comment modifier l'​épaisseur des traits dans les tableaux? ======
  
  
-$\Reponse$ ​ La longueur ​''​\arrayrulewidth'' ​définit la largeur des filets de +Les filets d'un tableau LaTeX ont par défaut une épaisseur de ''​0.4pt''; 
-séparation horizontale \emph{et} verticale. Cela permet donc de changer +il s'agit d'une valeur prédéfinie au niveau le plus bas, qui s'​applique à tous les traits 
-//​globalement//​ l'épaisseur ​d'un filet.+(y compris ceux qui séparent les blocs de texte, notamment).
  
 +Parfois, cependant, en regardant un tableau, on voudrait faire ressortir certains filets,
 +par exemple pour mieux séparer le contenu du tableau du corps du texte,
 +ou pour délimiter les différentes parties du tableau.
 +Cependant, un examen rapide de n'​importe quel livre sur LaTeX ne révèle
 +aucune technique permettant d'​épaissir un filet en particulier,​
 +et une petite expérimentation montre qu'il est en effet assez difficile
 +d'​éviter qu'une modification ne « déborde » et affecte tous les filets du tableau.
  
-$\Reponse$ ​ Si, dans un tableau, on met deux filets de séparation horizontaux+ 
 +Si vous lisez nos critiques sur la [[3_composition:​tableaux:​mes_tableaux_sont_moches|mise en forme des tableaux en LaTeX]], 
 +ailleurs dans cette FAQ, vous avez dû sentir que lors de sa conception, LaTeX a tout simplement 
 +ignoré la plupart des questions esthétiques liées aux tableaux: c'est probablement la raison pour laquelle 
 +il ne fournit rien pour modifier ponctuellement l'​épaisseur des filets. 
 + 
 +Plus précisément,​ si la longueur ''​\arrayrulewidth''​ affecte l'​épaisseur des traits (à la fois horizontaux et verticaux) 
 +dans les environnements ''​tabular''​ et ''​array'',​ elle la modifie de façon //​globale//​. Par exemple: 
 + 
 +<WRAP column 45ex> 
 +**Épaisseur par défaut** 
 + 
 +<code latex> 
 +
 + 
 +\begin{tabular}{|lc|} 
 +\hline 
 +  Peintre & Années \\ 
 +\hline 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\hline 
 +\end{tabular} 
 +</​code>​ 
 +<​latex>​ 
 +\begin{tabular}{|lc|} 
 +\hline 
 +  Peintre & Années \\ 
 +\hline 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\hline 
 +\end{tabular} 
 +</​latex>​ 
 +</​WRAP>​ 
 +<WRAP column 45 ex> 
 +**Épaisseur:​ ''​1pt''​** 
 + 
 +<code latex> 
 +\setlength{\arrayrulewidth}{1pt} 
 + 
 +\begin{tabular}{|lc|} 
 +\hline 
 +  Peintre & Années \\ 
 +\hline 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\hline 
 +\end{tabular} 
 +</​code>​ 
 +<​latex>​ 
 +\setlength{\arrayrulewidth}{1pt} 
 + 
 +\begin{tabular}{|lc|} 
 +\hline 
 +  Peintre & Années \\ 
 +\hline 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\hline 
 +\end{tabular} 
 +</​latex>​ 
 +</​WRAP>​ 
 +<WRAP clear /> 
 + 
 +Le changement est bien visible, mais remarquez que la jonction entre les trais verticaux et horizontaux 
 +se fait mal quand leur épaisseur est modifiée, tellement l'​épaisseur par défaut est ancrée dans le code. 
 +La programmation au niveau utilisateur,​ même pointue, s'​avère incapable de modifier un seul trait: 
 +il est nécessaire de se plonger dans le code (plutôt délicat) de ''​\hline''​ et ''​\cline''​ pour y arriver. 
 + 
 +Heureusement,​ ce travail a déjà été fait pour la communauté:​ le paquet [[ctanpkg>​booktabs|booktabs]] définit 
 +trois catégories de filets distinctes: ''​\toprule'',​ ''​\midrule''​ et ''​\bottomrule'',​ et la [[texdoc>​booktabs-fr|documentation du paquet (en français)]] 
 +offre des conseils sur la façon de les utiliser. Nous vous conseillons vivement de lire attentivement cette documentation. 
 + 
 +<WRAP column 45ex> 
 +<code latex> 
 +\usepackage{booktabs} 
 +... 
 + 
 +\begin{tabular}{lc} 
 +\toprule 
 +  Peintre & Années \\ 
 +\midrule 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\bottomrule 
 +\end{tabular} 
 +</​code>​ 
 +</​WRAP>​ 
 +<WRAP column 45ex> 
 +<​latexdoc>​ 
 +\documentclass{article} 
 +  \usepackage{booktabs} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\begin{tabular}{lc} 
 +\toprule 
 +  Peintre & Années \\ 
 +\midrule 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\bottomrule 
 +\end{tabular} 
 +\end{document} 
 +</​latexdoc>​ 
 +</​WRAP>​ 
 +<WRAP clear /> 
 + 
 +<note tip> 
 +Pour un résultat encore plus soigné, vous pouvez utiliser la commande ''​\cmidrule'',​ qui raccourcit légèrement 
 +les filets internes par rapport aux autres: 
 +<WRAP clear /> 
 +<WRAP column 45ex> 
 +<code latex> 
 +\usepackage{booktabs} 
 +... 
 + 
 +\begin{tabular}{lc} 
 +\toprule 
 +  Peintre & Années \\ 
 +\cmidrule(lr){1–2} 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\bottomrule 
 +\end{tabular} 
 +</​code>​ 
 +</​WRAP>​ 
 +<WRAP column 45ex> 
 +<​latexdoc>​ 
 +\documentclass{article} 
 +  \usepackage{booktabs} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\begin{tabular}{lc} 
 +\toprule 
 +  Peintre & Années \\ 
 +\cmidrule(lr){1-2} 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\bottomrule 
 +\end{tabular} 
 +\end{document} 
 +</​latexdoc>​ 
 +</​WRAP>​ 
 +<WRAP clear /> 
 +</​note>​ 
 + 
 +La classe [[ctanpkg>​memoir|memoir]] inclut le paquet [[ctanpkg>​booktabs|booktabs]] et reprend la teneur 
 +de sa documentation dans son [[texdoc>​memoir|manuel très détaillé]] 
 +(en anglais((Un [[https://​github.com/​jejust/​memoir-fr|projet de traduction existe]], vous pouvez y contribuer))). 
 + 
 + 
 +Notez qu'on a retiré les traits verticaux dans les derniers exemples de tableaux. Pour en connaître 
 +les raisons, consultez la [[texdoc>​booktabs-fr|documentation du paquetage “booktabs”]] (encore une fois); 
 +en résumé, les traits verticaux sont à éviter, pour des raisons à la fois historiques et esthétiques. 
 +On peut toujours s'en passer, en jouant sur l'​alignement du contenu des colonnes. 
 + 
 +<​note>​ 
 +Les traits verticaux des tableaux sont de toute façon codés dans LaTeX de façon encore plus déroutante 
 +que les traits horizontaux,​ et leur manque de configurabilité les rend encore moins attrayants... 
 +C'est, somme toute, tant mieux pour la mise en forme de votre document. 
 +</​note>​ 
 + 
 + 
 +===== Pour les bricoleurs ===== 
 + 
 +==== Épaissir des traits horizontaux à la demande ==== 
 + 
 +On a vu que la longueur ''​\arrayrulewidth''​ définit l'​épaisseur des filets de 
 +séparation horizontale //et// verticale. Cela ne permet donc de changer que 
 +//​globalement//​ l'​épaisseur des filets. 
 + 
 +Maintenant, si, dans un tableau, on met deux filets de séparation horizontaux
 successifs, ceux-ci sont séparées par la longueur ''​\doublerulesep''​. successifs, ceux-ci sont séparées par la longueur ''​\doublerulesep''​.
 Il suffit donc de donner la bonne valeur à cette valeur pour que les deux Il suffit donc de donner la bonne valeur à cette valeur pour que les deux
-filets soient collés, et ne fassent donc qu'un filet, plus épais. On +filets soient collés, et semblent former ​un unique ​filet, plus épais. On 
-écrira donc+écrira donc:
  
 <code latex> <code latex>
Ligne 17: Ligne 208:
 </​code>​ </​code>​
  
-\noindent ​Ensuite, il suffit d'​exécuter plusieurs fois consécutivement la +Ensuite, il suffit d'​exécuter plusieurs fois consécutivement la 
-commande ''​hline''​ pour épaissir le filet.+commande ''​\hline''​ pour épaissir le filet autant que désiré.
  
- +On peut aussi, en se fondant sur la définition de ''​\hline'',​
-$\Reponse$  ​On peut aussi, en se fondant sur la définition de ''​\hline'',​+
 créer une commande ''​\hlinewd''​ dont l'​épaisseur sera passée en créer une commande ''​\hlinewd''​ dont l'​épaisseur sera passée en
-argument. ​Voir l'exemple~\vref{ex=hlinewd}. +argument. ​Voici un exemple:
- +
- +
-Épaissir le filet de séparation horizontal\label{ex=hlinewd}+
  
 <code latex> <code latex>
Ligne 34: Ligne 221:
     \futurelet\reserved@a\@xhline}     \futurelet\reserved@a\@xhline}
 \makeatother \makeatother
 +
 \begin{tabular}{|l|r|} \begin{tabular}{|l|r|}
 \hline \hline
Ligne 45: Ligne 233:
 </​code>​ </​code>​
  
 +==== Épaissir des traits verticaux à la demande ====
  
- +Pour augmenter l'​épaisseur d'un filet de séparation vertical,
-$\Reponse$  ​Pour augmenter l'​épaisseur d'un filet de séparation vertical,+
 nous allons supprimer le filet vertical par défaut, et en insérer un nous allons supprimer le filet vertical par défaut, et en insérer un
-«~à la main~», avec la commande ''​\vrule''​. ​Voir l'​exemple~\vref{ex=grostrait}. +« à la main », avec la commande ''​\vrule''​. ​Voici comment faire:
- +
- +
-Épaissir le filet de séparation vertical\label{ex=grostrait}+
  
 <code latex> <code latex>
Ligne 68: Ligne 253:
  
  
 +<​note>​
 +Les packages [[ctanpkg>​array]] et [[ctanpkg>​mdwtab]] définissent un nouveau type de séparateur
 +de colonnes, semblable à ''​@'',​ mais qui ne supprime pas l'​espace inter-colonnes. ​
 +Le package [[ctanpkg>​mdwtab]] fournit en outre une commande, ''​\vline'',​ qui prend en argument optionnel
 +l'​épaisseur du filet. ​
 +</​note>​
  
-$\Reponse$ ​ Les packages [[ctanpkg>​array|array]] et [[ctanpkg>​mdwtab|mdwtab]] définissent un nouveau +----- 
-type de séparateur de colonnes, semblable à ''​@'',​ mais qui ne supprime pas l'​espace inter-colonnes. ​ +//​Source:// ​[[faquk>FAQ-rulethk|The thickness of rules in LaTeX tables]]
-Le package ​[[ctanpkg>mdwtab|mdwtab]] fournit en outre une commande, ''​\vline'',​ qui +
-prend en argument optionnel l'​épaisseur du filet.  +
  
-{{htmlmetatags>​metatag-keywords=(LaTeX) +{{htmlmetatags>​metatag-keywords=(LaTeX,​tableaux,​flottants,​modifier l'​apparence des tableaux,​mise en forme des tableaux,​épaisseur des lignes
-metatag-og:​title=(Comment modifier l'​épaisseur des filets d'un tableau?)+metatag-og:​title=(Comment modifier l'​épaisseur des traits dans les tableaux)
 metatag-og:​site_name=(FAQ LaTeX francophone) metatag-og:​site_name=(FAQ LaTeX francophone)
 }} }}
  
3_composition/tableaux/filets/epaisseur_des_lignes.txt · Dernière modification: 2021/05/13 21:25 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0