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édentesRévision précédente
Prochaine révision
Révision précédente
composition:tableaux:filets:epaisseur_des_lignes [2016/10/18 22:07] jejust3_composition:tableaux:filets:epaisseur_des_lignes [2021/05/13 19:25] (Version actuelle) – Intégration du contenu de la page "3_composition/tableaux/filets/epaisseur_des_lignes2". Restructuration de la réponse de la FAQ francophone. jejust
Ligne 1: Ligne 1:
-====== Comment modifier l'épaisseur des filets d'un tableau~?} %7.5 ======+====== 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 
-\emph{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 tableauon met deux filets de séparation horizontaux + 
-successifsceux-ci sont séparées par la longueur ''doublerulesep''+Si vous lisez nos critiques sur la [[3_composition:tableaux:mes_tableaux_sont_moches|mise en forme des tableaux en LaTeX]], 
-Il suffit donc de donner la bonne valeur à cette valeur pour que les deux +ailleurs dans cette FAQvous avez dû sentir que lors de sa conception, LaTeX a tout simplement 
-filets soient collés, et ne fassent donc qu'un filetplus épaisOn +ignoré la plupart des questions esthétiques liées aux tableaux: c'est probablement la raison pour laquelle 
-écrira donc+il ne fournit rien pour modifier ponctuellement l'épaisseur des filets. 
 + 
 +Plus précisémentsi 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> <code latex>
 +%
  
-\setlength{\doublerulesep}{\arrayrulewidth}+\begin{tabular}{|lc|} 
 +\hline 
 +  Peintre & Années \\ 
 +\hline 
 +  Manet  & 1832--1883 \\ 
 +  Ingres & 1780--1867 \\ 
 +  Goya   & 1746--1828 \\ 
 +\hline 
 +\end{tabular}
 </code> </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''**
  
-\noindent Ensuite, il suffit d'exécuter plusieurs fois consécutivement la +<code latex> 
-commande ''hline'' pour épaissir le filet.+\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}
  
-$Reponse$  On peut aussi, en se fondant sur la définition de ''hline'', +\begin{tabular}{|lc|} 
-créer une commande ''hlinewd'' dont l'épaisseur sera passée en +\hline 
-argument. Voir l'exemple~\vref{ex=hlinewd}.+  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.
  
-Épaissir le filet de séparation horizontal\label{ex=hlinewd}+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> <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''.
 +Il suffit donc de donner la bonne valeur à cette valeur pour que les deux
 +filets soient collés, et semblent former un unique filet, plus épais. On
 +écrira donc:
 +
 +<code latex>
 +\setlength{\doublerulesep}{\arrayrulewidth}
 +</code>
 +
 +Ensuite, il suffit d'exécuter plusieurs fois consécutivement la
 +commande ''\hline'' pour épaissir le filet autant que désiré.
 +
 +On peut aussi, en se fondant sur la définition de ''\hline'',
 +créer une commande ''\hlinewd'' dont l'épaisseur sera passée en
 +argument. Voici un exemple:
 +
 +<code latex>
 \makeatletter \makeatletter
 \newcommand\hlinewd[1]{% \newcommand\hlinewd[1]{%
Ligne 35: Ligne 221:
     \futurelet\reserved@a\@xhline}     \futurelet\reserved@a\@xhline}
 \makeatother \makeatother
 +
 \begin{tabular}{|l|r|} \begin{tabular}{|l|r|}
 \hline \hline
Ligne 46: 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 +« à la main », avec la commande ''\vrule''Voici comment faire:
-l'exemple~\vref{ex=grostrait}.+
  
- 
-Épaissir le filet de séparation vertical\label{ex=grostrait} 
 <code latex> <code latex>
- 
 \begin{tabular}{| \begin{tabular}{|
   c<{\global\addtolength{\arrayrulewidth}{1pt}}|   c<{\global\addtolength{\arrayrulewidth}{1pt}}|
Ligne 70: 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 à \texttt{\string@}, mais qui ne +//Source:// [[faquk>FAQ-rulethk|The thickness of rules in LaTeX tables]]
-supprime pas l'espace inter-colonnes.  +
-Le package [[ctanpkg>mdwtab|mdwtab]] fournit en outre une commande, ''vline'', qui +
-prend en argument optionnel l'épaisseur du filet. +
  
 +{{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 traits dans les tableaux)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
3_composition/tableaux/filets/epaisseur_des_lignes.1476828453.txt.gz · Dernière modification : 2016/10/18 22:07 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0