Tracer une diagonale dans une cellule 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.

Tracer une diagonale dans une cellule tabular

Messagepar zorba » Samedi 18 Septembre 2010, 16:27

Bonjour,
Je me lance dans les tableaux avec Latex et bute sur une difficulté qui a déjà été soulevée dans ce forum, mais j'ai été incapable de retrouver les messages traitant de ce même sujet.
J'ai fait un ECM et placé, en rouge à la fin du document, le point qui me bloque.
Voici le source :
Code: Tout sélectionner
\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry,url,xcolor}
\usepackage{cellspace}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}
\author{Pierre Chalopin}
\begin{document}
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm\\
Fichier : \jobname

On peut ainsi obtenir les résultats à l'aide d'un tableau de congruences modulo 8 :

\begin{center}
\begin{tabular}{|r|r|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{9}{|c|}{\textbf{Modulo 8}} \\
\hline
Si $n\equiv$ &0&1&2&3&4&5&6&7\\
\hline
Alors $n^2\equiv$ &0&1&4&1&0&1&4&1\\
\hline
\end{tabular}
\end{center}

Ainsi, pour tout entier relatif $x$, $x^2\equiv 0\,[8]$ ou $x^2\equiv 1\,[8]$ ou $x^2\equiv 4\,[8]$.

On en déduit, d'après la propriété d'addition, la congruence modulo 8 de $x^2+y^2$ pour tout couple $(c\,;\,y)$ d'entiers relatifs en dressant un tableau à double entrée :

\begin{center}
\begin{tabular}{|c|r|r|r|}
\hline
\multicolumn{4}{|c|}{\textbf{Modulo 8}} \\
\hline
$x^2+y^2$ &0&1&4\\
\hline
0&0&1&4\\
\hline
1&1&2&5\\
\hline
4&4&5&0\\
\hline
\end{tabular}
\end{center}

Donc : pour tous entiers relatifs $x$ et $y$ , $x^2+y^2\equiv 0\,[8]$ ou $x^2+y^2\equiv 1\,[8]$ ou $x^2+y^2\equiv 2\,[8]$ ou $x^2+y^2\equiv 4\,[8]$ ou $x^2+y^2\equiv 5\,[8]$.

\vspace{1cm}

Deuxième version du tableau précédent, en agrandissant les cellules :

%\newcolumntype{C}{>{$\displaystyle}Sc<{$}}
\newcolumntype{C}{Sc}
\setlength{\cellspacetoplimit}{4pt}
\setlength{\cellspacebottomlimit}{4pt}
%\setlength{\arrayrulewidth}{1pt}
\begin{center}
\begin{tabular}{|C|C|C|C|}
\hline
\multicolumn{4}{|C|}{\textbf{Modulo 8}} \\
\hline
$x^2+y^2$ &0&1&4\\
\hline
0&0&1&4\\
\hline
1&1&2&5\\
\hline
4&4&5&0\\
\hline
\end{tabular}
\end{center}

{\color{red}
Problème : tracer dans la cellule contenant $x^2+y^2$ la diagonale puis renseigner $x^2$ dans le triangle supérieur droit et $y^2$ dans le triangle inférieur gauche.}


\end{document}


Je remercie d'avance les personnes qui vont m'indiquer comment faire.

Bon weekend à tous.
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é

Publicité

Re: Tracer une diagonale dans une cellule tabular

Messagepar gigiair » Samedi 18 Septembre 2010, 16:58

As-tu essayé slashbox ?

Code: Tout sélectionner
\usepackage{slashbox}
[...]
\backslashbox{\$y^2\$}{\$x^2\$ }
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2399
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Tracer une diagonale dans une cellule tabular

Messagepar zorba » Samedi 18 Septembre 2010, 17:19

Bonjour,
merci d'avoir fait vite.
J'ai tout de suite essayé. Sans cellspace, j'ai un résultat standard, tout juste acceptable, la hauteur des cellules est insuffisante.
Avec cellspace, la diagonale ne part pas des angles et le résultat n'est pas très présentable.
Y a-t-il une ruse pour mettre ces deux packages dans le bon chemin et sortir des tableaux comme ceux du livre que j'utilise? (Radial chez Belin TS Spé page 18)
Avis aux experts.
Bonne fin de journé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: Tracer une diagonale dans une cellule tabular

Messagepar projetmbc » Samedi 18 Septembre 2010, 19:31

zorba a écrit:Je me lance dans les tableaux avec Latex et bute sur une difficulté qui a déjà été soulevée dans ce forum, mais j'ai été incapable de retrouver les messages traitant de ce même sujet.

Peut-être pensais-tu à ceci ?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Tracer une diagonale dans une cellule tabular

Messagepar zorba » Samedi 18 Septembre 2010, 19:57

J'ai regardé le dernier fil de discussion, mais je ne trouve pas d'élément susceptible de faire un tableau combinant cellspace et slashbox correctement.
A moins que je n'ai pas bien vu où tu voulais que je regarde.
merci, à +.
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: Tracer une diagonale dans une cellule tabular

Messagepar projetmbc » Samedi 18 Septembre 2010, 22:03

slashbox semble avoir des défauts.

La présentation suivante pourrait être envisagée :
Code: Tout sélectionner
% Source : http://forum.mathematex.net/latex-f6/tableau-avec-diverses-fusions-t10397.html#p100939

\documentclass[a4paper,10pt]{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage[a4paper]{geometry}
\geometry{hscale=0.85,vscale=0.85,centering}
\usepackage[pdftex]{graphicx}
\usepackage{tabularx,multirow}

\begin{document}

\renewcommand{\arraystretch}{1.8}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{tabularx}{3cm}{|C|C|C|C|C|}
\cline{1-5}
\multicolumn{2}{|c|}{\multirow{2}*{\scalebox{0.7}{\bfseries SOMME}}} & \multicolumn{3}{c|}{\scalebox{0.8}{\bfseries SAC ROUGE}} \\ \cline{3-5}
\multicolumn{2}{|c|}{} & $1$ &   $2$ &  $3$  \\ \cline{2-5}
\cline{1-5}
\multirow{4}*{\rotatebox{90}{\scalebox{0.9}{\bfseries SAC BLEU}}}
&$0$ & & & \\ \cline{2-5}
&$1$ & & & \\ \cline{2-5}
&$2$ & & & \\ \cline{2-5}
&$3$ & & & $6$ \\ \cline{2-5}
\cline{1-5}
\end{tabularx}

\end{document}

Si cela te convient, l'adaptation dans ton cas sera rapide.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Tracer une diagonale dans une cellule tabular

Messagepar gigiair » Samedi 18 Septembre 2010, 22:32

Ce qui serait bien quand on veut poser une question, c'est de la poser. Directement. S'agit-il d'augmenter l'espace au dessus et au dessous des composants d'une \slashbox ?
Si oui, ce n'est peut-être pas la peine d'utiliser cellspace qui visiblement ne prend pas en compte \slashbox. J. Noirel ne cache pas qu'il n'a pas envisagé d'inclure des tableaux dans les cellules d'un tableau, et sans doute non plus des slashbox.
Une solution pas très glorieuse consiste à ajouter des étais dans la cellule incriminée pour écarter les bords. J'ai fait ça un peu au pif, et à la va-vite, mais on doit pouvoir calculer l'espace nécessaire (et suffisant).

$$\begin{tabular}{|c|c|c|c|} \hline \multicolumn{4}{|c|}{\textbf{Modulo 8}} \\ \hline \backslashbox{$y^2$}{\rule{0pt}{2.2ex}$x^2$ }&0&1&4\\ \hline 0&0&1&4\\ \hline 1&1&2&5\\ \hline 4&4&5&0\\ \hline \end{tabular} $$


Maintenant, si ce n'est pas ça la question, il faut le dire clairement.
Dernière édition par gigiair le Dimanche 19 Septembre 2010, 18:31, édité 4 fois.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2399
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Tracer une diagonale dans une cellule tabular

Messagepar balf » Dimanche 19 Septembre 2010, 10:21

Et au début du tableau, un petit \renewcommand{\arraystretch}{1.5} (ou 2, ou ce qu'il faut, par tâtonnements) ?

Autre possibilté (non exclusive) : passer localement en taille \small, ou utiliser l'extension relsize ou nccmath (incluse dans ncctools) qui définit une série de commandes et d'environnements de type "mediummath", intermédiaire entre displaystyle et textstyle pour les fractions, intégrales, matrices.etc : la taille est réduite de 20%.

B.A.
balf
Zetta-utilisateur
 
Messages: 3823
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Tracer une diagonale dans une cellule tabular

Messagepar gigiair » Dimanche 19 Septembre 2010, 18:37

Une autre solution est de baisser le x^2.

Code: Tout sélectionner
\begin{tabular}{|*{4}{c|}}
\hline
\multicolumn{4}{|c|}{\textbf{Modulo 8}} \\
\hline
\backslashbox{$y^2$}{\raise-.5ex\hbox{$x^2$ }}&0&1&4\\
\hline
0&0&1&4\\
\hline
1&1&2&5\\
\hline
4&4&5&0\\
\hline
\end{tabular}


$$\begin{tabular}{|*{4}{c|}} \hline \multicolumn{4}{|c|}{\textbf{Modulo 8}} \\ \hline \backslashbox{$y^2$}{\raise-.5ex\hbox{$x^2$ }}&0&1&4\\ \hline 0&0&1&4\\  \hline 1&1&2&5\\ \hline 4&4&5&0\\ \hline \end{tabular}$$

JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2399
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Tracer une diagonale dans une cellule tabular

Messagepar pg » Jeudi 23 Septembre 2010, 11:07

On peut utiliser \backslashbox et cellspace sans avoir les espaces parasites à condition de mettre la slashbox dans un \multicolumn ; par contre, du coup, le $y^2$ sera trop proche du haut, mais cela peut se régler à la main avec une barre verticale invisible de la bonne hauteur :

cellspace_slashbox.png
cellspace_slashbox.png (5.61 Kio) Vu 14222 fois


Code: Tout sélectionner
\documentclass[a4paper]{article}

\usepackage{cellspace}
\usepackage{slashbox}

\newcolumntype{C}{Sc}
\setlength{\cellspacetoplimit}{4pt}
\setlength{\cellspacebottomlimit}{4pt}

\begin{document}

\begin{center}
\begin{tabular}{|C|C|C|C|}
\hline
\multicolumn{4}{|C|}{\textbf{Modulo 8}} \\
\hline
\multicolumn{1}{|c|}{\backslashbox{$x^2$}{\vrule width 0pt height 1.25em$y^2$}} &0&1&4\\
\hline
0&0&1&4\\
\hline
1&1&2&5\\
\hline
4&4&5&0\\
\hline
\end{tabular}
\end{center}

\end{document}
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Tracer une diagonale dans une cellule tabular

Messagepar projetmbc » Jeudi 23 Septembre 2010, 12:45

Bonjour,
tout le monde semble avoir "boudé" la solution juste au-dessus. Certes , la mise en forme change mais le tableau est à la fois facile à comprendre et en même temps plus souple à remplir. Enfin, il me semble...
exempleAAdapter.png
exempleAAdapter.png (16.61 Kio) Vu 14216 fois

Il est possible de ne pas tracer le coin supérieur gauche et d'y remplacer "SOMME" par une flèche avec un signe PLUS.

C'était un communiqué de la FLDT, la Fondation de Lutte contre les Diagonales dans les Tableaux... :mrgreen:
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Grapeshot [Crawler] et 24 invités