Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
composition:tableaux:filets:epaisseur_des_lignes [2002/09/07 11:36] – créée markey3_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:
-\question{Comment modifier l'épaisseur des lignes d'un tableau ?} %7.5+====== Comment modifier l'épaisseur des traits dans les tableaux======
  
-\reponse La longueur \cmd{arrayrulewidth} d\'efinit la largueur des lignes de 
-s\'eparation horizontales \emph{et} verticales. Cela permet donc de changer 
-\emph{globalement} l'\'epaisseur d'une ligne. 
  
-\reponse Sidans un tableau, on met deux lignes de s\'eparaiton horizontales +Les filets d'un tableau LaTeX ont par défaut une épaisseur de ''0.4pt''; 
-successivescelles-ci sont s\'epar\'ees par la longueur \cmd{doublerulesep}+il s'agit d'une valeur prédéfinie au niveau le plus basqui s'applique à tous les traits 
-Il suffit donc de donner la bonne valeur \`a cette valeur pour que les deux +(y compris ceux qui séparent les blocs de texte, notamment). 
-lignes soient coll\'ees, et ne fassent donc qu'une ligne, plus \'epaisse. On + 
-\'ecrira donc +Parfois, cependant, en regardant un tableau, on voudrait faire ressortir certains filets, 
-\begin{noexemple}+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. 
 + 
 + 
 +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. 
 + 
 +Heureusementce 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''
 +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} \setlength{\doublerulesep}{\arrayrulewidth}
-\end{noexemple} +</code>
-\noindent Ensuite, il suffit d'ex\'ecuter plusieurs fois cons\'ecutivement la +
-commande \cmd{hline} pour \'epaissir le trait.+
  
-\reponse On peut aussien se basant sur la d\'efinition de \cmd{hline}, +Ensuiteil suffit d'exécuter plusieurs fois consécutivement la 
-cr\'eer une commande \cmd{hlinewd} dont l'\'epaisseur sera pass\'ee en +commande ''\hline'' pour épaissir le filet autant que désiré.
-argument. Voir l'exemple~\ref{hlinewd}.+
  
-\DeleteShortVerb{\|} +On peut aussi, en se fondant sur la définition de ''\hline'', 
-\begin{exemple}{\'Epaissir la ligne de s\'eparation horizontale\label{hlinewd}}+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 27: Ligne 221:
     \futurelet\reserved@a\@xhline}     \futurelet\reserved@a\@xhline}
 \makeatother \makeatother
 +
 \begin{tabular}{|l|r|} \begin{tabular}{|l|r|}
 \hline \hline
-lundi & 8 \\\hlinewd{.5\arrayrulewidth} +lundi    & 8  \\ \hlinewd{.5\arrayrulewidth} 
-mardi & 4 \\\hlinewd{.5\arrayrulewidth} +mardi    & 4  \\ \hlinewd{.5\arrayrulewidth} 
-mercredi & 9 \\ \hlinewd{.5\arrayrulewidth} +mercredi & 9  \\ \hlinewd{.5\arrayrulewidth} 
-jeudi & 13 \\ \hlinewd{.5\arrayrulewidth} +jeudi    & 13 \\ \hlinewd{.5\arrayrulewidth} 
-vendredi & 5 \\ \hlinewd{2\arrayrulewidth} +vendredi & 5  \\ \hlinewd{2\arrayrulewidth} 
-total & 39 \\ \hline+total    & 39 \\ \hline
 \end{tabular} \end{tabular}
-\end{exemple} +</code>
-\MakeShortVerb{\|}+
  
 +==== Épaissir des traits verticaux à la demande ====
  
-\reponse Pour augmenter l'\'epaisseur d'un trait de s\'eparation vertical, +Pour augmenter l'épaisseur d'un filet de séparation vertical, 
-nous allons supprimer le trait vertical par d\'efaut, et en ins\'erer un +nous allons supprimer le filet vertical par défaut, et en insérer un 
-<<~\`a la main~>>, avec la commande \cmd{vrule}. Voir +« à la main », avec la commande ''\vrule''Voici comment faire:
-l'exemple~\ref{exgrostrait}.+
  
-\DeleteShortVerb{\|} +<code latex>
-\begin{exemple}{\'Epaissir la ligne de s\'eparation verticale\label{exgrostrait}}+
 \begin{tabular}{| \begin{tabular}{|
   c<{\global\addtolength{\arrayrulewidth}{1pt}}|   c<{\global\addtolength{\arrayrulewidth}{1pt}}|
Ligne 57: Ligne 250:
 \hline \hline
 \end{tabular} \end{tabular}
-\end{exemple} +</code> 
-\MakeShortVerb{\|}+ 
 + 
 +<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> 
 + 
 +----- 
 +//Source:// [[faquk>FAQ-rulethk|The thickness of rules in LaTeX tables]]
  
-\reponse Les packages \pack{array} et \pack{mdwtab} d\'efinissent un nouveau +{{htmlmetatags>metatag-keywords=(LaTeX,tableaux,flottants,modifier l'apparence des tableaux,mise en forme des tableaux,épaisseur des lignes) 
-type de s\'eprateur de colonnessemblable \`a \texttt{\string@}mais qui ne +metatag-og:title=(Comment modifier l'épaisseur des traits dans les tableaux) 
-supprime pas l'espace inter-colonnes.  +metatag-og:site_name=(FAQ LaTeX francophone) 
-Le package \pack{mdwtabfournit en outre une commande, \cmd{vline}, qui +}}
-prend en argument optionnel l'\'epaisseur de la ligne. +
  
3_composition/tableaux/filets/epaisseur_des_lignes.1031398582.txt.gz · Dernière modification : 2002/09/07 11:36 de markey
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0