[Résolu] Taille d'un tableau tabular

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Taille d'un tableau tabular

Messagepar zorba » Dimanche 16 Janvier 2011, 18:35

bonjour,
j'utilise un tableau avec tabular et cellspace qui ne donne pas un présentation très correcte. Je trouve que la hauteur des cellules est mal ajustée et insuffisante, alors que la largeur des colonnes est un peu trop importante àmon goût. Sauf la première colonne que je dois gérer "à la main" en indiquant une dimension dans l'environnement minipage permettant de mettre le titre sur deux lignes.
Voici le code, un ECM presque minimal :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}

\usepackage{ntheorem}
\usepackage{numprint}
\theorembodyfont{\upshape}
\usepackage{geometry,url}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}

\usepackage[dvips]{graphicx}

\usepackage{cellspace,colortbl}

\parindent=0pt
\AtBeginDocument{
  \abovedisplayshortskip=3pt
  \abovedisplayskip=3pt
  \belowdisplayshortskip=3pt
  \belowdisplayskip=3pt}

\newcounter{exo}
\newtheorem{tempexo}[exo]{Exercice}
\newenvironment{exo}[1][]{\begin{tempexo}\leavevmode\par\nobreak
\noindent\ignorespaces#1\par\nobreak\medskip}{\vspace{2mm} \hrule \vspace{2mm}\end{tempexo}}



\renewcommand{\textbf}[1]{\begingroup\bfseries\mathversion{bold}#1\endgroup}

\newcounter{parties}
\newenvironment{parties}{\begin{list}
  {\hspace{\labelsep}\bfseries Partie \Alph{parties} --}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{parties}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{questions}
\renewcommand{\thequestions}{\textbf{\arabic{questions})}}
\newenvironment{questions}{\begin{list}
  {\hspace{\labelsep}\bfseries\arabic{questions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{questions}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{sousquestions}
\renewcommand{\thesousquestions}{\textbf{\alph{sousquestions})}}
\newenvironment{sousquestions}{\begin{list}
  {\hspace{\labelsep}\bfseries\alph{sousquestions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{sousquestions}
   \def\makelabel##1{##1}}}{\end{list}}

\newcommand{\intervalle}[2]{\ensuremath {\left[#1\,;#2\right]}}
\newcommand{\intervallefo}[2]{\ensuremath{\left[#1\,;#2\right[}}
\newcommand{\intervalleof}[2]{\ensuremath{\left]#1\,;#2\right]}}
\newcommand{\intervalleoo}[2]{\ensuremath{\left]#1\,;#2\right[}}

\begin{document}

\setlength{\arrayrulewidth}{0.1pt}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}

\begin{exo}[Belin Exo-049-p150  Un dé équilibré? Chap 06 - Statistiques]

Le tableau ci-dessous représente la distribution de la fréquence de 1 ou 6 sur des échantillons de 100 lancers de dé.
\newcolumntype{C}{>{$\displaystyle}Sc<{$}}
\begin{center}
\begin{tabular}{|l|C|C|C|C|C|C|}
\hline
\begin{minipage}{1.75cm}\textbf{Fréquence du 1 ou 6}\end{minipage}&\intervalle{0}{0,1}&\intervalleof{0,1}{0,2}&\intervalleof{0,2}{0,3}&\intervalleof{0,3}{0,4}&\intervalleof{0,4}{0,5}&\intervalleof{0,5}{0,6}\\
\hline
\begin{minipage}{1.75cm}
\textbf{Nombre d'échantillons}\end{minipage}&4&6&12&14&8&3\\
\hline
\end{tabular}
\end{center}
\begin{sousquestions}
\item Etablir la courbe des fréquences cumulées croissantes.
\item Le dé parait-il équilibré?
\end{sousquestions}

%\vspace{2mm} {\blue{\hrule}} \vspace{2mm}
\end{exo}
%\nettoyer
\end{document}


J'ai sorti un fichier pdf qui se trouve en pièce jointe.
Je remercie d'avance les personnes qui peuvent m'indiquer comment améliorer cette présentation, sans être un super expert en programmation Tex.
Bonne soirée.
Pierre
Fichiers joints
Exo-049-p150-De-equilibre-ou-pas-equilibre-ECM.pdf
(14 Kio) Téléchargé 99 fois
Dernière édition par zorba le Lundi 17 Janvier 2011, 05:43, édité 1 fois.
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Publicité

Re: Taille d'un tableau tabular

Messagepar evariste_G » Dimanche 16 Janvier 2011, 19:12

Bonsoir.

Pour la hauteur des cellules, tu pourrais éventuellement utiliser la commande :

Code: Tout sélectionner
\renewcommand{\arraystretch}{1.4}


où "1.4" est la hauteur souhaitée.

Pour la largeur des cellules, tu pourrais écrire :

Code: Tout sélectionner
\begin{tabular}{|p{5cm}|*6{m{3cm}|}}
evariste_G
Téra-utilisateur
 
Messages: 1340
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: Taille d'un tableau tabular

Messagepar zorba » Dimanche 16 Janvier 2011, 19:37

Bonsoir,
merci d'avoir répondu aussi rapidement.
Je ne vois pas bien l'effet produit par
Code: Tout sélectionner
\renewcommand{\arraystretch}{1.4}
. Quant à mettre les dimensions en cm pour les colonnes, je trouve que c'est pas très pratique pour faire des tableaux ajustés automatiquement et réguliers. C'est ce que cellspace devrait faire, mais pareil, je ne vois pas vraiment d'effet.
Bonne soirée.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Re: Taille d'un tableau tabular

Messagepar GMaths » Dimanche 16 Janvier 2011, 19:47

zorba a écrit:C'est ce que cellspace devrait faire, mais pareil, je ne vois pas vraiment d'effet.

Tu peux difficilement le voir avec un exemple où dans une colonne, tu as des minipages qui occupent 2 ou ou 3 lignes.

Sans changer radicalement de façon de faire, je ne pense pas qu'il y aura de solution élégante à ton exemple.

En changeant peu de choses :
on peut penser à utiliser tabularx pour égaliser la largeur des colonnes 2 à 7...
... et sinon ajouter de l'espace, dans les minipages.

Code: Tout sélectionner
    \documentclass[a4paper,10pt]{article}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[frenchb]{babel}
    \usepackage{amsmath,mathrsfs,amssymb}

    \usepackage{ntheorem}
    \usepackage{numprint}
    \theorembodyfont{\upshape}
    \usepackage{geometry,url}
    \geometry{textwidth=130mm,textheight=260mm,top=2cm}

    \usepackage[dvips]{graphicx}

    \usepackage{cellspace,colortbl}

    \parindent=0pt
    \AtBeginDocument{
      \abovedisplayshortskip=3pt
      \abovedisplayskip=3pt
      \belowdisplayshortskip=3pt
      \belowdisplayskip=3pt}

    \newcounter{exo}
    \newtheorem{tempexo}[exo]{Exercice}
    \newenvironment{exo}[1][]{\begin{tempexo}\leavevmode\par\nobreak
    \noindent\ignorespaces#1\par\nobreak\medskip}{\vspace{2mm} \hrule \vspace{2mm}\end{tempexo}}



    \renewcommand{\textbf}[1]{\begingroup\bfseries\mathversion{bold}#1\endgroup}

    \newcounter{parties}
    \newenvironment{parties}{\begin{list}
      {\hspace{\labelsep}\bfseries Partie \Alph{parties} --}
      {\leftmargin=0pt
       \labelwidth=0cm
       \usecounter{parties}
       \def\makelabel##1{##1}}}{\end{list}}

    \newcounter{questions}
    \renewcommand{\thequestions}{\textbf{\arabic{questions})}}
    \newenvironment{questions}{\begin{list}
      {\hspace{\labelsep}\bfseries\arabic{questions})}
      {\leftmargin=0pt
       \labelwidth=0cm
       \usecounter{questions}
       \def\makelabel##1{##1}}}{\end{list}}

    \newcounter{sousquestions}
    \renewcommand{\thesousquestions}{\textbf{\alph{sousquestions})}}
    \newenvironment{sousquestions}{\begin{list}
      {\hspace{\labelsep}\bfseries\alph{sousquestions})}
      {\leftmargin=0pt
       \labelwidth=0cm
       \usecounter{sousquestions}
       \def\makelabel##1{##1}}}{\end{list}}

    \newcommand{\intervalle}[2]{\ensuremath {\left[#1\,;#2\right]}}
    \newcommand{\intervallefo}[2]{\ensuremath{\left[#1\,;#2\right[}}
    \newcommand{\intervalleof}[2]{\ensuremath{\left]#1\,;#2\right]}}
    \newcommand{\intervalleoo}[2]{\ensuremath{\left]#1\,;#2\right[}}

\usepackage{tabularx}

    \begin{document}

    \setlength{\arrayrulewidth}{0.1pt}
    \setlength{\cellspacetoplimit}{3pt}
    \setlength{\cellspacebottomlimit}{3pt}




    \begin{exo}[Belin Exo-049-p150  Un dé équilibré? Chap 06 - Statistiques]

    Le tableau ci-dessous représente la distribution de la fréquence de 1 ou 6 sur des échantillons de 100 lancers de dé.
    \newcolumntype{C}{>{$\displaystyle}Sc<{$}}
    \begin{center}
   
    \newcolumntype{M}{>{\centering\arraybackslash$\displaystyle}X<{$}}
      \renewcommand{\arraystretch}{1} %%%%%%%%%%%%%%% réglage de hauteur n°1
      \setlength{\cellspacetoplimit}{5pt} %%%%%%%%%%% réglage de hauteur n°2
      \setlength{\cellspacebottomlimit}{5pt} %%%%%%%% réglage de hauteur n°3
   \begin{tabularx}{\textwidth}{|l|*{6}{S{M}|}}
    \hline
    \begin{minipage}{1.75cm}\smallskip
                            \textbf{Fréquence du 1 ou 6}\smallskip\end{minipage}
    &\intervalle{0}{0,1}
    &\intervalleof{0,1}{0,2}
    &\intervalleof{0,2}{0,3}
    &\intervalleof{0,3}{0,4}
    &\intervalleof{0,4}{0,5}
    &\intervalleof{0,5}{0,6}\\
    \hline
    \begin{minipage}{1.75cm}\smallskip
                            \textbf{Nombre d'échantillons}\smallskip\end{minipage}
    &4&6&12&14&8&3\\
    \hline
   \end{tabularx}
   
    \end{center}
    \begin{sousquestions}
    \item Etablir la courbe des fréquences cumulées croissantes.
    \item Le dé parait-il équilibré?
    \end{sousquestions}

    %\vspace{2mm} {\blue{\hrule}} \vspace{2mm}


    \end{exo}
    %\nettoyer
    \end{document}
Dernière édition par GMaths le Lundi 17 Janvier 2011, 09:05, édité 1 fois.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Taille d'un tableau tabular

Messagepar balf » Dimanche 16 Janvier 2011, 22:07

Je vous propose 3 solutions, dont les deux dernières utilisent l'extension booktabs, qui prohibe l'utilisation de lignes verticales dans les tableaux (pas professionnelles) au profit uniquement de règles horizontales. Personellement, je préfère la dernière mouture, utilisant array au lieu de tabular, mais c'est affaire de goût. Voici le code, et le pdf en p.j. :
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[UTF8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}

\usepackage{ntheorem}
\usepackage{numprint}
\theorembodyfont{\upshape}
\usepackage{geometry,url}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}

\usepackage[dvips]{graphicx}

\usepackage{cellspace,colortbl}
\usepackage{booktabs}

\parindent=0pt
\AtBeginDocument{
  \abovedisplayshortskip=3pt
  \abovedisplayskip=3pt
  \belowdisplayshortskip=3pt
  \belowdisplayskip=3pt}

\newcounter{exo}
\newtheorem{tempexo}[exo]{Exercice}
\newenvironment{exo}[1][]{\begin{tempexo}\leavevmode\par\nobreak
\noindent\ignorespaces#1\par\nobreak\medskip}{\vspace{2mm} \hrule \vspace{2mm}\end{tempexo}}



\renewcommand{\textbf}[1]{\begingroup\bfseries\mathversion{bold}#1\endgroup}

\newcounter{parties}
\newenvironment{parties}{\begin{list}
  {\hspace{\labelsep}\bfseries Partie \Alph{parties} --}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{parties}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{questions}
\renewcommand{\thequestions}{\textbf{\arabic{questions})}}
\newenvironment{questions}{\begin{list}
  {\hspace{\labelsep}\bfseries\arabic{questions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{questions}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{sousquestions}
\renewcommand{\thesousquestions}{\textbf{\alph{sousquestions})}}
\newenvironment{sousquestions}{\begin{list}
  {\hspace{\labelsep}\bfseries\alph{sousquestions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{sousquestions}
   \def\makelabel##1{##1}}}{\end{list}}

\newcommand{\intervalle}[2]{\ensuremath {\left[#1\,;#2\right]}}
\newcommand{\intervallefo}[2]{\ensuremath{\left[#1\,;#2\right[}}
\newcommand{\intervalleof}[2]{\ensuremath{\left]#1\,;#2\right]}}
\newcommand{\intervalleoo}[2]{\ensuremath{\left]#1\,;#2\right[}}

\begin{document}

\setlength{\arrayrulewidth}{0.1pt} \setlength{\cellspacetoplimit}{3pt} \setlength{\cellspacebottomlimit}{3pt}




\begin{exo}[Belin Exo-049-p150 Un d{\'e} équilibré? Chap 06 - Statistiques]

Le tableau ci-dessous représente la distribution de la fréquence de 1 ou 6 sur des échantillons de 100 lancers de dé.
\newcolumntype{C}{>{$\displaystyle}Sc<{$}}
\renewcommand{\arraystretch}{1.33}
\begin{center}
\begin{tabular}{|>{\bfseries\raggedleft}m{2.5cm}|C|C|C|C|C|C|}
\hline
 Fréquence \linebreak du 1 ou 6 &\intervalle{0}{0,1}&\intervalleof{0,1}{0,2}&\intervalleof{0,2}{0,3}&\intervalleof{0,3}{0,4}&\intervalleof{0,4}{0,5}&\intervalleof{0,5}{0,6}\\
\hline
Nombre d'échantillons &4&6&12&14&8&3\\
\hline
\end{tabular}
\end{center}
\mbox{}\\

Avec l'extension \emph{booktabs} :
\begin{center}
\begin{tabular}{@{}>{\bfseries\raggedleft}m{2.5cm}CCCCCC@{\:}}
\toprule
 Fréquence \linebreak du 1 ou 6 &\intervalle{0}{0,1}&\intervalleof{0,1}{0,2}&\intervalleof{0,2}{0,3}&\intervalleof{0,3}{0,4}&\intervalleof{0,4}{0,5}&\intervalleof{0,5}{0,6}\\
\midrule
Nombre d'échantillons &4&6&12&14&8&3\\
\bottomrule
\end{tabular}
\end{center}

    \[
\begin{array}{@{}>{\bfseries\raggedleft}m{2.5cm}CCCCCC@{\:}}
\toprule
 Fréquence \linebreak du 1 ou 6 &\intervalle{0}{0,1}&\intervalleof{0,1}{0,2}&\intervalleof{0,2}{0,3}&\intervalleof{0,3}{0,4}&\intervalleof{0,4}{0,5}&\intervalleof{0,5}{0,6}\\
\midrule
Nombre d'échantillons &4&6&12&14&8&3\\
\bottomrule
\end{array} \]%
\mbox{}

\begin{sousquestions}
\item Etablir la courbe des fréquences cumulées croissantes.
\item Le dé paraît-il équilibré ?
\end{sousquestions}

%\vspace{2mm} {\blue{\hrule}} \vspace{2mm}


\end{exo}
%\nettoyer
\end{document}


B.A.
Fichiers joints
testtabular.pdf
(72.53 Kio) Téléchargé 100 fois
balf
Zetta-utilisateur
 
Messages: 3664
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Taille d'un tableau tabular

Messagepar zorba » Lundi 17 Janvier 2011, 05:43

Bonjour,
merci à tous pour les réponses à mes questions.
Finalement, je vais retenir la solution 1 de balf, c'est celle qui permet de faire le plus fidèlement possible la copie des sujets des livres Belin ou Nathan, sous forme de petits tableaux avec lignes et colonnes tracées. Dans les livres que j'utilise, les auteurs encadrent outes les cellules de leurs tableaux. Style recommandé par les inspecteurs ou mode? je ne sais pas.
Dans le cas de tableaux plus longs, avec plus de colonnes et un nombre plus conséquent de lignes, j'utiliserai l'extension booktabs qui permet un meilleur rendu. Je n'ai pas souvent l'occasion de faire ce genre de tableau et là pour le coup, Excel ou Calc sont vraiment plus commodes que Latex.
Bonne semaine à tous ceux qui travaillent.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Re: Taille d'un tableau tabular

Messagepar GMaths » Lundi 17 Janvier 2011, 09:06

balf a écrit:Je vous propose 3 solutions...

Quel luxe ! Je me suis senti obligé de préciser mon propos dans mon message précédent.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu]Taille d'un tableau tabular

Messagepar balf » Lundi 17 Janvier 2011, 10:58

@Pierre (et les autres en fait) : il n'est en effet pas toujours commode de faire des tableaux en laTeX sans erreur dans l'usage des esperluètes. Je signale un petit outil qui permet de faire un simili-wysiwyg (comme un tableur), et exporte le code LaTeX. Ça s'appelle latable, c'est trouvable sur CTAN, mais comme ce n'est pas très gros autant le mettre en p.j.

B.A.
Fichiers joints
latable.zip
(695.71 Kio) Téléchargé 63 fois
balf
Zetta-utilisateur
 
Messages: 3664
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Proximic [Spider] et 30 invités