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:cellules:modifier_l_alignement_du_texte_dans_une_cellule [2020/08/27 15:44]
jejust Ajout du résultat de l'exemple. Correction dans le titre.
3_composition:tableaux:cellules:modifier_l_alignement_du_texte_dans_une_cellule [2021/11/27 14:51] (Version actuelle)
yannick.tanguy Fusion de la page française et de la page anglaise traduite.
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.txt · Dernière modification: 2021/11/27 14:51 par yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0