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
composition:tableaux:cellules:modifier_l_alignement_du_texte_dans_une_cellule [2020/08/27 13:44] – Ajout du résultat de l'exemple. Correction dans le titre. jejust3_composition:tableaux:cellules:modifier_l_alignement_du_texte_dans_une_cellule [2021/11/27 13:51] (Version actuelle) – Fusion de la page française et de la page anglaise traduite. yannick.tanguy
Ligne 1: Ligne 1:
-====== Comment modifier l'alignement du texte dans une seule cellule ? ======+====== Comment modifier la justification du texte dans une cellule? ======
  
 +Il est parfois nécessaire de modifier la justification d'une cellule d'un tableau de type « ''p'' » ( pour « paragraphe ») cela est source de problème à la fin d'une ligne de tableau. La solution intuive ressemble souvent à : 
  
-$\Reponse$  Grâce à la commande ''\multicolumn'', on peut redéfinir +<code latex> 
-l'alignement (à gauchecentré ou à droite) du contenu d'une cellule+... & \centering blabla... \\ 
-Par exemple :+</code> 
 + 
 +Il y a de grandes chances que se manifestent des erreurs décrites aux questions : 
 +  * « [[2_programmation/erreurs/m/misplaced_noalign|Que signifie l'erreur: “ Misplaced \noalign” ?]] » ; 
 +  * « [[2_programmation/erreurs/e/extra_alignment_tab_has_been_changed_to_cr|Que signifie l'erreur : “Extra alignment tab has been changed to \cr” ?]] ». 
 + 
 +Ces problèmes ont pour origine la variété des sens de la commande ''\\''. Dans l'environnement ''tabular''cette commande est modifiée et n'est plus compatible avec les commandes ''\centering'', ''\raggedright'' et ''\raggedleft''. Il faut ici noter que le problème ne se pose que dans la dernière cellule d'une ligne
 + 
 +===== Avec des commandes de base ===== 
 + 
 +Anciennement, la valeur réelle de la commande ''\\'' utilisée par l'environnement ''tabular'' n'était disponible que sous forme de commande interne, ''\tabularnewline''. De nos jours, cette commande est publique et vous pouvez en principe l'utiliser explicitement (avec le défaut d'avoir un code un peu plus long) 
  
 +<code latex>
 +... & \centering blabla... \tabularnewline
 +</code>
 +
 +Il est également possible de modifier cette justification avec la commande ''\multicolumn''. Voici un exemple :
 +
 +<WRAP column 60ex>
 <code latex> <code latex>
 \begin{tabular}{||p{2cm}|} \begin{tabular}{||p{2cm}|}
-Tous \\ les \\ mots \\ sont \\ +Tous les \\  
-alignés \\ à \\ gauche \\+mots sont \\ 
 +alignés \\  
 +à gauche \\
 \multicolumn{1}{||r|}{sauf} \\ \multicolumn{1}{||r|}{sauf} \\
-celui-là.+« sauf ».
 \end{tabular} \end{tabular}
 </code> </code>
 +</WRAP>
  
-<latex>+<WRAP column 60ex> 
 +<latexdoc> 
 +\documentclass{article} 
 +\usepackage[french]{babel} 
 +\pagestyle{empty} 
 +\begin{document}
 \begin{tabular}{||p{2cm}|} \begin{tabular}{||p{2cm}|}
-Tous \\ les \\ mots \\ sont \\ +Tous les \\  
-alignés \\ à \\ gauche \\+mots sont \\ 
 +alignés \\  
 +à gauche \\
 \multicolumn{1}{||r|}{sauf} \\ \multicolumn{1}{||r|}{sauf} \\
-celui-là.+\og sauf \fg{}.
 \end{tabular} \end{tabular}
-</latex>+\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear /> 
 + 
 +Notez que dans l'exemple précédent, nous avons placé les mêmes filets dans ''\multicolumn'' et ''tabular'' pour qu'il n'y ait pas de problème au niveau des raccords des cellules. 
 + 
 +===== Avec l'extension “array” ===== 
 + 
 +L'extension [[ctanpkg>array]] fournit une commande ''\arraybackslash'' qui restitue à la commande ''\\'' sa signification correcte (dans la table). Cette commande peut être utilisée dans les spécifications du préambule du tableau :  
 + 
 +<code latex> 
 +\begin{tabular}{... >{\centering\arraybackslash}p{50mm}} 
 +... 
 +</code> 
 + 
 +===== Avec une solution plus ancienne ===== 
 + 
 +Si les commandes ''\tabularnewline'' et ''\arraybackslash'' s'avéraient indisponibles, vous pouvez essayer une solution plus ancienne qui préserve le sens de la commande ''\\'' :  
 + 
 +<code latex> 
 +\newcommand\sautligne[1]{\let\temp=\\% 
 +  #1% 
 +  \let\\=\temp 
 +
 +</code> 
 + 
 +Elle s'utilise comme suit : 
 + 
 +<code latex> 
 +... & \sautligne\centering blabla... \\ 
 +</code> 
 + 
 +Elle peut être également être placée dans le préambule du tableau : 
 + 
 +<code latex> 
 +\begin{tabular}{...>{\sautligne\centering}p{5cm}} 
 +</code> 
 + 
 +----- 
 +//Source:// [[faquk>FAQ-tabcellalign|How to alter the alignment of tabular cells]] 
 + 
 +{{htmlmetatags>metatag-keywords=(LaTeX,tableaux,flottants,cellule,justification) 
 +metatag-og:title=(Comment modifier la justification du texte dans une cellule) 
 +metatag-og:site_name=(FAQ LaTeX francophone) 
 +}}
  
  
-Notez que dans l'exemple précédent, nous avons placé les mêmes filets dans 
-''\multicolumn'' et ''tabular'' pour qu'il n'y ait pas de problème au 
-niveau des raccords des cellules. 
  
  
3_composition/tableaux/cellules/modifier_l_alignement_du_texte_dans_une_cellule.1598535890.txt.gz · Dernière modification : 2020/08/27 13:44 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0