Tableau et alignement

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Tableau et alignement

Message non lu par Daver10Manon »

Bonjour à tous,
Je suis assez novice en LaTeX et j'aurais besoin de votre aide. J'essaie de créer un tableau et j'aimerais que la deuxième ligne soit centrée horizontalement et alignée en bas verticalement. De plus, j'aimerais que la première ligne de mon tableau ait des caractères plus gros que le reste. C'est un peu du bricolage , et cela m'a pris un temps fou mais je vous joins le fichier que j'ai réussi à faire pour l'instant.

Code : Tout sélectionner

\documentclass[11pt,fleqn]{book}
\usepackage{booktabs} % Required for nicer horizontal rules in tables
\usepackage{tabularx,array,multirow,graphicx}
\begin{document}

\begin{table}[h]
\begin{tabular}{|c|c|c||c|c|c||c|c|c||c|c|c|}
\hline
\multicolumn{3}{|c||}{Classe des milliards} & \multicolumn{3}{c||}{Classe des millions}&
\multicolumn{3}{c||}{Classe des mille}& 
\multicolumn{3}{c|}{Classe des unités}                  
\\ \hline
\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Centaines de milliards}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Dizaines de milliards}}  &\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Unités de milliards}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Centaines de millions}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Dizaines de millions}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Unités de millions}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Centaines de mille}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Dizaines de mille}}  &\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Unités de mille}}  &\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Centaines}}  &\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Dizaines}}&\multirow{4}{1cm}{\rotatebox[origin=c]{90}{Unités}}
 
\\ &&&&&&&&&&&\\&&&&&&&&&&&\\&&&&&&&&&&&\\ &&&&&&&&&&&\\ &&&&&&&&&&&\\ &&&&&&&&&&&\\ &&&&&&&&&&&\\ &&&&&&&&&&&\\ &&&&&&&&&&&\\ 
\hline
&&&&&&&&&&&\\&&&&&&&&&&&\\ \hline

\end{tabular}
\end{table}
\end{document}
Merci beaucoup pour l'aide que vous pourrez m'apporter.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

Re: Aide Tableau

Message non lu par un bon petit »

Une façon de faire :

Code : Tout sélectionner

\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{array,graphicx,cellspace}
\newcommand*\rtxt[1]{\hbox to.8cm{\hss\rotatebox[origin=bl]{90}{#1}\hss}}
\newcommand*\classe[2]{\multicolumn{3}{#1}{\large#2}}
\cellspacetoplimit=5pt
\cellspacebottomlimit=5pt
\begin{document}
\begin{tabular}{*4{|*3{Sc|}}}
	\hline
		\classe{|Sc||}{Classe des milliards}&
		\classe{Sc||}{Classe des millions}&
		\classe{Sc||}{Classe des mille}&
		\classe{Sc|}{Classe des unités}
	\\\hline
		\rtxt{Centaines de milliards}&
		\rtxt{Dizaines de milliards}&
		\rtxt{Unités de milliards}&
		\rtxt{Centaines de millions}&
		\rtxt{Dizaines de millions}&
		\rtxt{Unités de millions}&
		\rtxt{Centaines de mille}&
		\rtxt{Dizaines de mille}&
		\rtxt{Unités de mille}&
		\rtxt{Centaines}&
		\rtxt{Dizaines}&
		\rtxt{Unités}
	\\\hline
		&&&&&&&&&&&
	\\\hline
\end{tabular}
\end{document}
Programmer en TeX, TeXpérimental
balf
Modérateur spécialisé
Modérateur spécialisé
Messages : 4065
Inscription : mercredi 02 janvier 2008, 23:18

Re: Aide Tableau

Message non lu par balf »

Je peux vous proposer ceci, qui utilise, outre les extensions que vous avez chargées, hhline, tabularx et makecell, ainsi que geometry, poiur avoir des marges plus décentes (ceci suppose bien entendu, que vous n'utilisiez pas de notes des marge):

Code : Tout sélectionner

    \documentclass[11pt,fleqn]{book}
    \usepackage{booktabs} % Required for nicer horizontal rules in tables
    \usepackage{geometry} 
    \usepackage{tabularx, array, multirow, graphicx}
    \usepackage{rotating, makecell} 
    \usepackage{hhline}
    \newcolumntype{C}{>{\centering\arraybackslash}X}

    \begin{document}

    \begin{table}[!ht]\centering
    \setlength{\extrarowheight}{3pt}
    \setlength{\tabcolsep}{4pt}\setlength{\rotheadsize}{2.1cm}\renewcommand{\cellset}{\renewcommand{\arraystretch}{0.7}}
    \setlength{\doublerulesep}{1ex}
    \begin{tabularx}{\textwidth}{*{4}{|C|C|C|}}
    \multicolumn{12}{c}{\large\bfseries Classe des} \\
    \cmidrule(l{-0.6em}){2-11}
    \multicolumn{3}{>{\large\bfseries}c}{milliards} & \multicolumn{3}{>{\large\bfseries}c}{millions}&
    \multicolumn{3}{>{\large\bfseries}c}{milliers}&
    \multicolumn{3}{>{\large\bfseries}c}{unités}
    \\[0.5ex] \hhline{*{4}{|-|-|-|}}
    \rotcell{Centaines\\ de milliards} & \rotcell{Dizaines\\ de milliards} & \rotcell{Unités \\de milliards} & \rotcell{Centaines\\ de millions} & \rotcell{Dizaines\\ de millions} & \rotcell{Unités\\ de millions} & \rotcell{Centaines\\ de mille} & \rotcell{Dizaines\\ de mille} & \rotcell{Unités\\ de mille} & \rotcell{Centaines} & \rotcell{Dizaines} & \rotcell{Unités} \\
     \hhline{*{4}{|-|-|-|}}
     & & & & & & & & & & & \\
    \hhline{*{4}{|-|-|-|}}
    \end{tabularx}
    \end{table}

    \end{document} 
B. A.
aidetableau.pdf
(24.53 Kio) Téléchargé 199 fois
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Re: Aide Tableau

Message non lu par Daver10Manon »

Merci infiniment pour vos réponses. Les deux codes proposés sont différents mais me plaisent tous les deux. Je vais tenter de les analyser pour voir comment vous avez procédé afin de m'améliorer en LaTeX.

Vous m'êtes d'une grande aide, et ça donne envie de s'accrocher!!!

Manon :D :D
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2804
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Aide Tableau

Message non lu par gigiair »

un bon petit a écrit :Une façon de faire :

Code : Tout sélectionner

\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{array,graphicx,cellspace}
\newcommand*\rtxt[1]{\hbox to.8cm{\hss\rotatebox[origin=bl]{90}{#1}\hss}}
\newcommand*\classe[2]{\multicolumn{3}{#1}{\large#2}}
\cellspacetoplimit=5pt
\cellspacebottomlimit=5pt
\begin{document}
\begin{tabular}{*4{|*3{Sc|}}}
	\hline
		\classe{|Sc||}{Classe des milliards}&
		\classe{Sc||}{Classe des millions}&
		\classe{Sc||}{Classe des mille}&
		\classe{Sc|}{Classe des unités}
	\\\hline
		\rtxt{Centaines de milliards}&
		\rtxt{Dizaines de milliards}&
		\rtxt{Unités de milliards}&
		\rtxt{Centaines de millions}&
		\rtxt{Dizaines de millions}&
		\rtxt{Unités de millions}&
		\rtxt{Centaines de mille}&
		\rtxt{Dizaines de mille}&
		\rtxt{Unités de mille}&
		\rtxt{Centaines}&
		\rtxt{Dizaines}&
		\rtxt{Unités}
	\\\hline
		&&&&&&&&&&&
	\\\hline
\end{tabular}
\end{document}
Je trouve cette solution excellente mais je m'interroge sur le choix de 0.8cm ({\hbox to.8cm). D'où provient le choix de cette valeur ? J'ai essayé d'autres valeurs qui donnent des résultats assez catastrophiques.
JJR.
LaTeXien migrateur.
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Re: Aide Tableau

Message non lu par Daver10Manon »

Coucou la compagnie!

J'ai continué mon travail jusqu'à obtenir un joli tableau de numération!
Ca m'a pris beaucoup de temps mais une fois que l'on comprend le système ça va beaucoup plus vite.
J'ai même réussi à ajouter de jolies couleurs :D :D
Tout ça grâce à votre aide!

Je vous joins donc mon code final.

Code : Tout sélectionner

\documentclass[12pt,fleqn]{book} 
\usepackage[top=2cm,bottom=2cm,left=1cm,right=1cm,headsep=10pt,a4paper]{geometry} % Page margins
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[dvipsnames,table]{xcolor}
\definecolor{green}{RGB}{0,115,0}

\usepackage{rotating,booktabs}% Pour les tableaux

\usepackage{booktabs} % Required for nicer horizontal rules in tables

%% macro ligne épaisse
\newcommand\Ehline{\noalign{%
\global\savedwidth%
\arrayrulewidth\global\arrayrulewidth 1.5pt}
\hline \noalign{%
\global\arrayrulewidth \savedwidth}}
\newcolumntype{E}{!{\vrule width 1.5pt}}
\newlength\savedwidth
\renewcommand{\arraystretch}{1.6}
%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage{array,graphicx,cellspace}

\newcommand*\rtxt[2]{\rule{0.4cm}{0pt}
\cellcolor{#1!3}
\begin{rotate}{90}
    \large\textcolor{#1}{#2}
\end{rotate}\rule{0.4cm}{0pt} }

\newcommand*\classe[3]{
\multicolumn{3}{#1}{\cellcolor{#2!20}\textcolor{#2}{\large#3}}}
\cellspacetoplimit=6pt
\cellspacebottomlimit=6pt

\begin{document}
%%%% Tableau Numération entiers %%%%%
\begin{center}
\begin{tabular}{E*4{c|c|cE}}
\Ehline
      \classe{EScE}{red}{Classe des \textbf{milliards}}&
      \classe{ScE}{green}{Classe des \textbf{millions}}&
      \classe{ScE}{blue}{Classe des \textbf{mille}}&
      \classe{ScE}{black}{Classe des \textbf{unités}}
   \\\Ehline
    \rule[0ex]{0pt}{26ex}
      \rtxt{red}{Centaines de \textbf{milliards}}&
      \rtxt{red}{Dizaines de \textbf{milliards}}&
      \rtxt{red}{Unités de \textbf{milliards}}&
      \rtxt{green}{Centaines de \textbf{millions}}&
      \rtxt{green}{Dizaines de \textbf{millions}}&
      \rtxt{green}{Unités de \textbf{millions}}&
      \rtxt{blue}{Centaines de \textbf{mille}}&
      \rtxt{blue}{Dizaines de \textbf{mille}}&
      \rtxt{blue}{Unités de \textbf{mille}}&
      \rtxt{black}{\textbf{Centaines}}&
      \rtxt{black}{\textbf{Dizaines}}&
      \rtxt{black}{\textbf{Unités}}
   \\\Ehline
   \rule{0pt}{5ex}
      &&&&&&&&&&&
   \\\Ehline
\end{tabular}
\end{center}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
Manon :) :)

Merci MB
Pièces jointes
Capture d’écran 2020-05-03 à 16.14.00.png
Dernière modification par Daver10Manon le dimanche 03 mai 2020, 16:42, modifié 4 fois.
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Re: Aide Tableau

Message non lu par MB »

Daver10Manon a écrit :Ps: J'aurai souhaité vous montrer en image, ou en pièce jointe, le rendu mais je n'ai pas trouvé comment faire. Si l'un d'entre vous à une idée, je suis preneuse!!
Je viens de t'ajouter dans le groupe permettant de joindre des fichiers aux messages.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

Re: Aide Tableau

Message non lu par un bon petit »

gigiair a écrit :Je trouve cette solution excellente mais je m'interroge sur le choix de 0.8cm ({\hbox to.8cm). D'où provient le choix de cette valeur ?
Choisie au pif, j'avais pris 1cm, je crois et je trouvais que c'était un peu trop large. J'ai donc mis 0.8cm !
gigiair a écrit :J'ai essayé d'autres valeurs qui donnent des résultats assez catastrophiques.
Non, quelle que soit la largeur choisie, la colonne sera de la largeur demandée, dans la mesure où le cumul des 3 largeurs n'est pas inférieur à la largeur de la cellule en multicolumn, auquel cas, la dernière colonne sera élargie.
Programmer en TeX, TeXpérimental
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

Re: Aide Tableau

Message non lu par un bon petit »

Daver10Manon a écrit :Je vous joins donc mon code final.
Le \rule[0ex]{0pt}{26ex} est une énorme erreur, c'est ce qu'on appelle un rafistolage bancal. Vous ne devez pas programmer comme ça !!!

Vous devriez observer que dans les codes qui vous ont été donné, rien n'est codé en dur concernant le contenu des cellules.
Programmer en TeX, TeXpérimental
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Re: Aide Tableau

Message non lu par Daver10Manon »

Comme je le disais je suis novice et enthousiaste à l'idée d'apprendre. C'est mon tout premier tableau en LaTeX. Je vais voir comment je peux faire autrement. J'ai vu cette méthode sur le net et m'y suis fiée.
Ce n'est pas plus mal d'avoir l'avis de plus expérimentés que moi !

Manon :)
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Re: Aide Tableau

Message non lu par Daver10Manon »

Voilà ce que j'ai réussi à faire sans utiliser le rule.
Cependant je n'arrive pas à trouver comment augmenter la hauteur de ligne de la dernière ligne. :|

Code : Tout sélectionner

\documentclass[12pt,fleqn]{book} 
\usepackage[top=2cm,bottom=2cm,left=1cm,right=1cm,headsep=10pt,a4paper]{geometry} % Page margins
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[dvipsnames,table]{xcolor}
\definecolor{green}{RGB}{0,115,0}

\usepackage{rotating,booktabs}% Pour les tableaux

\usepackage{booktabs} % Required for nicer horizontal rules in tables

%% macro ligne épaisse
\newcommand\Ehline{\noalign{%
\global\savedwidth%
\arrayrulewidth\global\arrayrulewidth 1.5pt}
\hline \noalign{%
\global\arrayrulewidth \savedwidth}}
\newcolumntype{E}{!{\vrule width 1.5pt}}
\newlength\savedwidth
\renewcommand{\arraystretch}{1.6}
%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage{array,graphicx,cellspace}

\newcommand*\rtxt[2]{\hbox to 1.05cm{\cellcolor{#1!3}\hss\rotatebox[origin=bl]{90}{\large\textcolor{#1}{#2}}\hss}}

\newcommand*\classe[3]{
\multicolumn{3}{#1}{\cellcolor{#2!20}\textcolor{#2}{\large#3}}}
\cellspacetoplimit=6pt
\cellspacebottomlimit=6pt

\begin{document}
%%%% Tableau Numération entiers %%%%%
\begin{center}
\begin{tabular}{E*4{c|c|cE}}
\Ehline
      \classe{EScE}{red}{Classe des \textbf{milliards}}&
      \classe{ScE}{green}{Classe des \textbf{millions}}&
      \classe{ScE}{blue}{Classe des \textbf{mille}}&
      \classe{ScE}{black}{Classe des \textbf{unités}}
   \\\Ehline
      \rtxt{red}{Centaines de \textbf{milliards }}&
      \rtxt{red}{Dizaines de \textbf{milliards}}&
      \rtxt{red}{Unités de \textbf{milliards}}&
      \rtxt{green}{Centaines de \textbf{millions}}&
      \rtxt{green}{Dizaines de \textbf{millions}}&
      \rtxt{green}{Unités de \textbf{millions}}&
      \rtxt{blue}{Centaines de \textbf{mille}}&
      \rtxt{blue}{Dizaines de \textbf{mille}}&
      \rtxt{blue}{Unités de \textbf{mille}}&
      \rtxt{black}{\textbf{Centaines}}&
      \rtxt{black}{\textbf{Dizaines}}&
      \rtxt{black}{\textbf{Unités}}
   \\\Ehline
&&&&&&&&&&&
   \\\Ehline
\end{tabular}
\end{center}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
Manon :)
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2804
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Aide Tableau

Message non lu par gigiair »

Le truc classique, c'est de mettre une réglure de largeur nulle dans la ligne que tu veux élargir, mais de hauteur non nulle, par exemple

Code : Tout sélectionner

\rule[4cm]{0pt}{0pt}
Tu peux essayer de faire varier les paramètres pour rendre la réglure visible,... ou lire la doc.
JJR.
LaTeXien migrateur.
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Re: Aide Tableau

Message non lu par Daver10Manon »

gigiair a écrit :Le truc classique, c'est de mettre une réglure de largeur nulle
Oui c'est ce que j'avais fait au début. Cependant, un bon petit me disais que ce n'était pas une bonne solution. J'ai donc essayé de faire autrement, sans succès pour l'instant.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

Re: Aide Tableau

Message non lu par un bon petit »

Daver10Manon a écrit :Oui c'est ce que j'avais fait au début. Cependant, un bon petit me disais que ce n'était pas une bonne solution.
C'était une mauvaise solution avec la façon que vous aviez de faire.

Dans ce cas, JJR a raison : pour augmenter arbitrairement la hauteur d'une colonne, vous devez mettre strut. C'est la bonne façon de faire, car cette ligne doit rester vide (si j'ai bien compris), il n'y a donc aucune liaison entre les dimensions du strut et le contenu de la ligne. Votre dernière ligne doit donc être

Code : Tout sélectionner

\vrule width0pt height2cm&&&&&&&&&&&
J'ai mis du TeX par pure habitude car c'est plus clair que la macro \rule de LaTeX. À vous d'adapter en LaTeX si vous voulez et changer 2cm en autre chose.
Programmer en TeX, TeXpérimental
Daver10Manon
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : samedi 02 mai 2020, 14:50

Re: Aide Tableau

Message non lu par Daver10Manon »

D'accord, merci pour ces commentaires constructifs.

Manon
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message