[Résolu] Accolades devant des lignes de tableau

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] Accolades devant des lignes de tableau

Messagepar zorba » Samedi 13 Novembre 2010, 05:12

Bonjour à tous,
j'ai essayé plusieurs bricolages pour dessiner un tableau avec des commentaires en face de certaines lignes et des accolades pour en délimiter clairement le champ d'application. Mes résultats ne sont pas satisfaisants, aussi je soumets cet exercice aux experts pour obtenir des éléments et terminer la rédaction de mon sujet.
Voici, en pièce jointe, l'image du tableau que je souhaite obtenir, c'est celui 3 - Autres formules et le ECM que j'ai commencé à écrire :
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}
\everymath{\displaystyle}
\usepackage{lipsum,xcolor,pst-eucl,pstricks-add,pst-fun,pst-tree}
\frenchbsetup{StandardLists=true}
\usepackage{enumitem}
\usepackage{cellspace,eurosym,colortbl,slashbox,multirow}

\DeclareMathSymbol{A}{\mathalpha}{operators}{`A}
\DeclareMathSymbol{B}{\mathalpha}{operators}{`B}
\DeclareMathSymbol{C}{\mathalpha}{operators}{`C}
\DeclareMathSymbol{D}{\mathalpha}{operators}{`D}
\DeclareMathSymbol{E}{\mathalpha}{operators}{`E}
\DeclareMathSymbol{F}{\mathalpha}{operators}{`F}
\DeclareMathSymbol{G}{\mathalpha}{operators}{`G}
\DeclareMathSymbol{H}{\mathalpha}{operators}{`H}
\DeclareMathSymbol{I}{\mathalpha}{operators}{`I}
\DeclareMathSymbol{J}{\mathalpha}{operators}{`J}
\DeclareMathSymbol{K}{\mathalpha}{operators}{`K}
\DeclareMathSymbol{L}{\mathalpha}{operators}{`L}
\DeclareMathSymbol{M}{\mathalpha}{operators}{`M}
\DeclareMathSymbol{N}{\mathalpha}{operators}{`N}
\DeclareMathSymbol{O}{\mathalpha}{operators}{`O}
\DeclareMathSymbol{P}{\mathalpha}{operators}{`P}
\DeclareMathSymbol{Q}{\mathalpha}{operators}{`Q}
\DeclareMathSymbol{R}{\mathalpha}{operators}{`R}
\DeclareMathSymbol{S}{\mathalpha}{operators}{`S}
\DeclareMathSymbol{T}{\mathalpha}{operators}{`T}
\DeclareMathSymbol{U}{\mathalpha}{operators}{`U}
\DeclareMathSymbol{V}{\mathalpha}{operators}{`V}
\DeclareMathSymbol{W}{\mathalpha}{operators}{`W}
\DeclareMathSymbol{X}{\mathalpha}{operators}{`X}
\DeclareMathSymbol{Y}{\mathalpha}{operators}{`Y}
\DeclareMathSymbol{Z}{\mathalpha}{operators}{`Z}


\newcommand{\manus}[1]{\ensuremath {\mathscr{\MakeUppercase{#1}}}}
\newcommand{\grastab}[1]{\ensuremath {\mathbb{#1}}}
\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}
Source : latex-Exemples-ECM-\jobname

\begin{center}
\colorbox[gray]{0.95}{
\begin{minipage}{0.75\textwidth}
\begin{center}
\textbf{Autres formules, à connaître par coeur!}
\end{center}
$u$ est une fonction dérivable sur un intervalle I.\\
\newcolumntype{C}{>{$\displaystyle}Sc<{$}}
\begin{center}
\begin{tabular}{|C|C|}
\hline
\textrm{\textbf{fonction}}&\textbf{\textrm{une primitive sur I}}\\
\hline
uu'&\dfrac{1}{2}u^2\\
u^nu'\,(\textrm{ avec }n\in\grastab{N},\,n\geq 1)&\dfrac{1}{n+1}u^{n+1}\\
\dfrac{u'}{u^2}&-\dfrac{1}{u}\\
\dfrac{u'}{u^n}\,(\textrm{ avec }n\in\grastab{N},\,n\geq 2)&-\dfrac{1}{(n-1)u^{n-1}}\\
\dfrac{u'}{\sqrt{u}}&2\sqrt{u}\\
\hline
\end{tabular}
\end{center}
\end{minipage}
}
\end{center}

Je souhaite placer, à gauche de ce tableau les conditions que la fonction $u$ doit remplir, telles que présentées dans l'image jointe, avec si possible les accolades qui me semblent très utiles.
\end{document}



J'aimerai aussi dessiner le chiffre 3 comme celui du titre de chapitre, à part pstricks je ne vois pas trop comment m'y prendre. Si quelqu'un a une solution simple, je suis preneur.

Je remercie d'avance pour l'aide apportée et souhaite un bon weekend à tous.
Pierre
Fichiers joints
Tableau-p72-Accolades-3.jpg
D'après Hyperbole Terminale ES Nathan page 72
Dernière édition par zorba le Samedi 13 Novembre 2010, 17:16, é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: Accolades devant des lignes de tableau

Messagepar un bon petit » Samedi 13 Novembre 2010, 10:36

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{amsmath,amssymb}
\usepackage[margin=2.5cm]{geometry}
\usepackage{cellspace}
\usepackage{xcolor}

\newcommand\grastab[1]{\ensuremath {\mathbb{#1}}}

\newcommand\acco[3][110pt]{\hbox{\parbox{#1}{\sloppy\small#2}$\left\{\vphantom{#3}\right.\kern-3pt$}&#3}
\begin{document}
\colorbox{red!65!blue!60}{\color{white}\Large\bfseries3}
\textbf{Autres formules, à connaître par coeur!}\bigskip

$u$ est une fonction dérivable sur un intervalle I.\bigskip

\begingroup\fboxsep10pt
\hfill\colorbox[gray]{0.95}{%
\noindent\begin{tabular}[t]{r@{}|*2{>$Sc<$|}}\cline{2-3}
&\textrm{\textbf{fonction}}&\textbf{\textrm{une primitive sur I}}\\\cline{2-3}
&uu'&\dfrac{1}{2}u^2\\
&u^nu'\,(\textrm{ avec }n\in\grastab{N},\,n\geq 1)&\dfrac{1}{n+1}u^{n+1}\\
\acco{La fonction $u$ ne s'annule\par pas sur I}{\begin{tabular}{>$Sc<$}\dfrac{u'}{u^2}\\\dfrac{u'}{u^n}\,(\textrm{ avec }n\in\grastab{N},\,n\geq 2)\end{tabular}}&
   \begin{tabular}{>$Sc<$}-\dfrac{1}{u}\\-\dfrac{1}{(n-1)u^{n-1}}\end{tabular}\\
\acco[130pt]{La fonction $u$ est strictement\par positive sur I}{\dfrac{u'}{\sqrt{u}}}&2\sqrt{u}\\\cline{2-3}
\end{tabular}
}\hfill\null\endgroup
\bigskip

Je souhaite placer, à gauche de ce tableau les conditions que la fonction $u$ doit remplir, telles que présentées dans l'image jointe, avec si possible les accolades qui me semblent très utiles.
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 684
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar Francky » Samedi 13 Novembre 2010, 10:40

Une idée pour ton tableau :

les commentaires et l'accolade sont dans le tableau, sans cadre à gauche, ainsi

avec
Code: Tout sélectionner
newcommand case_1{ le contenu d'une case }   %une parbox pour tes deux lignes
newcommand case_2{ le contenu d'une autre case }

une ligne du tableau
           l                                                                     r                                         |                c                  |                 c            |         
parbox "commentaires"                 \right{  \vphantom{ \case_1 \case_2 } \left.                       \case_1                          \case_2



J'espère que l'idée te convient, je suis sûr que ça passe.

------------

Pour le 3, tu as plusieurs solutions graphiques, tout dépend si tu as une compilation imposée,
pstrick, tikz ou asymptote doivent y arriver sans soucis.
Mais tu devras peut-être te créer les 10 chiffres séparément.
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
Francky
Giga-utilisateur
 
Messages: 683
Inscription: Dimanche 11 Avril 2010, 13:01
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar zorba » Samedi 13 Novembre 2010, 11:25

Bonjour,
merci de ces deux réponses. Je vais examiner en détail pour essayer de comprendre la solution et je reviens sur le forum en fin d'après-midi pour dire où j'en suis.
Bon weekend.
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: Accolades devant des lignes de tableau

Messagepar Francky » Samedi 13 Novembre 2010, 11:43

Pour le "3", avec asymptote, tu as ce genre de chose, en 3D

Code: Tout sélectionner
import graph3;
size(0.5cm,0);
currentprojection=perspective(100,100,200,up=Y);
draw(extrude("$3$",2Z),red);


dont le résultat est
test.pdf
le 3 en 3D
(7.69 Kio) Téléchargé 138 fois
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
Francky
Giga-utilisateur
 
Messages: 683
Inscription: Dimanche 11 Avril 2010, 13:01
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar Francky » Samedi 13 Novembre 2010, 11:57

Pour le 3 "à la main", je te propose
Code: Tout sélectionner
size(0.5cm,0);

draw((0,-1.2){E}..(1.4,-0.5)..(0,0){W}^^(0,0){E}..(1.1,+0.8)..(0,+1){SW}, 3bp+white);

shipout(bbox(.08cm,Fill(lightred)));

dont le résultat est
test.pdf
3 "à la main"
(2.45 Kio) Téléchargé 98 fois
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
Francky
Giga-utilisateur
 
Messages: 683
Inscription: Dimanche 11 Avril 2010, 13:01
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar chellier » Samedi 13 Novembre 2010, 12:02

@ Francky : Tu peux utiliser les balises asy :

2e8332d85b9b06220cf243c82c04729d.png

Code: Tout sélectionner
import three;
size(0.5cm,0);
settings.render=0;
settings.prc=false;
currentprojection=perspective(100,100,200,up=Y);
draw(extrude("$3$",2Z),red);


La deuxième ne passe pas, je ne sais pas pourquoi :?

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar Francky » Samedi 13 Novembre 2010, 12:36

chellier a écrit:@ Francky : Tu peux utiliser les balises asy :

La deuxième ne passe pas, je ne sais pas pourquoi :?

Christophe

Merci, j'avais oublié.

C'est la branche du haut qui l'embête, mais pourquoi ???
La branche du bas seule passe, mais pas celle du haut seule !!!
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
Francky
Giga-utilisateur
 
Messages: 683
Inscription: Dimanche 11 Avril 2010, 13:01
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar zorba » Samedi 13 Novembre 2010, 15:16

un bon petit a écrit:
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{amsmath,amssymb}
\usepackage[margin=2.5cm]{geometry}
\usepackage{cellspace}
\usepackage{xcolor}

\newcommand\grastab[1]{\ensuremath {\mathbb{#1}}}

\newcommand\acco[3][110pt]{\hbox{\parbox{#1}{\sloppy\small#2}$\left\{\vphantom{#3}\right.\kern-3pt$}&#3}
\begin{document}
\colorbox{red!65!blue!60}{\color{white}\Large\bfseries3}
\textbf{Autres formules, à connaître par coeur!}\bigskip

$u$ est une fonction dérivable sur un intervalle I.\bigskip

\begingroup\fboxsep10pt
\hfill\colorbox[gray]{0.95}{%
\noindent\begin{tabular}[t]{r@{}|*2{>$Sc<$|}}\cline{2-3}
&\textrm{\textbf{fonction}}&\textbf{\textrm{une primitive sur I}}\\\cline{2-3}
&uu'&\dfrac{1}{2}u^2\\
&u^nu'\,(\textrm{ avec }n\in\grastab{N},\,n\geq 1)&\dfrac{1}{n+1}u^{n+1}\\
\acco{La fonction $u$ ne s'annule\par pas sur I}{\begin{tabular}{>$Sc<$}\dfrac{u'}{u^2}\\\dfrac{u'}{u^n}\,(\textrm{ avec }n\in\grastab{N},\,n\geq 2)\end{tabular}}&
   \begin{tabular}{>$Sc<$}-\dfrac{1}{u}\\-\dfrac{1}{(n-1)u^{n-1}}\end{tabular}\\
\acco[130pt]{La fonction $u$ est strictement\par positive sur I}{\dfrac{u'}{\sqrt{u}}}&2\sqrt{u}\\\cline{2-3}
\end{tabular}
}\hfill\null\endgroup
\bigskip

Je souhaite placer, à gauche de ce tableau les conditions que la fonction $u$ doit remplir, telles que présentées dans l'image jointe, avec si possible les accolades qui me semblent très utiles.
\end{document}

J'ai regardé la solution qui règle mon problème, même si le code devient difficile à lire et reste particulier. Je me demande à quoi servent vraiment les instructions suivantes :
Code: Tout sélectionner
\begingroup\fboxsep10pt
    \hfill

avant le \colorbox
ainsi que
Code: Tout sélectionner
\hfill\null\endgroup

à la fin du tableau.
Je n'ai jamais vu l'intérêt de placer les commandes de début et de fin de groupe.
Pourtant, je les retrouve pratiquement dans tous les packages que je regarde et dans de nombreux exemples.
Merci pour l'aide et bon weekend.
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: Accolades devant des lignes de tableau

Messagepar un bon petit » Samedi 13 Novembre 2010, 16:21

zorba a écrit:J'ai regardé la solution qui règle mon problème, même si le code devient difficile à lire et reste particulier.

Ben oui, mais le problème est particulier et le tableau qui en résulte est également difficile à lire.

Je me demande bien pourquoi tu ne fais pas un troisième colonne expliquant dans quelles conditions les formules sont valables (n>=1, n>=2, u ne s'annule pas, u est strictement positive). Il me semble que le tableau serait plus clair et cela éviterait de surcharger la colonne "fonction" avec ces conditions entre parenthèses, et surtout, cela rend inutile ces accolades qui sont, avouons-le, un peu ridicules...

zorba a écrit:Je me demande à quoi servent vraiment les instructions suivantes :
Code: Tout sélectionner
\begingroup\fboxsep10pt
    \hfill

avant le \colorbox
ainsi que
Code: Tout sélectionner
\hfill\null\endgroup

j'ouvre un groupe pour que la modification du fboxsep reste locale. Cette longueur est utilisée par \coolorbox et représente l'espace entre la bordure de l'encadrement et ce qui se trouve à l'intérieur. Essaie de mettre \fboxsep=0pt et tu verras que le tableau colle beaucoup plus aux bords du cadre.

Le \hfill...\hfill\null sert à centrer le tableau. J'aime pas trop les \begin{center} surtout quand ils sont imbriqués comme les tiens. En effet, on ne contrôle pas l'espacement qu'ils mettent avant et après. J'aime bien avoir le contrôle.
un bon petit
Giga-utilisateur
 
Messages: 684
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Accolades devant des lignes de tableau

Messagepar zorba » Samedi 13 Novembre 2010, 16:35

un bon petit a écrit:
zorba a écrit:J'ai regardé la solution qui règle mon problème, même si le code devient difficile à lire et reste particulier.

Ben oui, mais le problème est particulier et le tableau qui en résulte est également difficile à lire.

Je me demande bien pourquoi tu ne fais pas un troisième colonne expliquant dans quelles conditions les formules sont valables (n>=1, n>=2, u ne s'annule pas, u est strictement positive). Il me semble que le tableau serait plus clair et cela éviterait de surcharger la colonne "fonction" avec ces conditions entre parenthèses, et surtout, cela rend inutile ces accolades qui sont, avouons-le, un peu ridicules...

zorba a écrit:Je me demande à quoi servent vraiment les instructions suivantes :
Code: Tout sélectionner
\begingroup\fboxsep10pt
    \hfill

avant le \colorbox
ainsi que
Code: Tout sélectionner
\hfill\null\endgroup

j'ouvre un groupe pour que la modification du fboxsep reste locale. Cette longueur est utilisée par \coolorbox et représente l'espace entre la bordure de l'encadrement et ce qui se trouve à l'intérieur. Essaie de mettre \fboxsep=0pt et tu verras que le tableau colle beaucoup plus aux bords du cadre.

Le \hfill...\hfill\null sert à centrer le tableau. J'aime pas trop les \begin{center} surtout quand ils sont imbriqués comme les tiens. En effet, on ne contrôle pas l'espacement qu'ils mettent avant et après. J'aime bien avoir le contrôle.


Merci de tous ces compléments qui m'éclairent beaucoup.
Sur le fond, je n'ai pas fait de tableau classique à trois colonnes comme tu le préconises pour la mauvaise raison de copier ce qui est fait dans l'ouvrage que j'ai cité et, ce faisant, de voir si Latex permet de le faire facilement. Latex peut le faire, mais c'est quand même assez délicat pour un novice pas formé à toutes les commandes de base.
Je conserve soigneusement ta solution pour des cas similaires pouvant revenir au fil de mes travaux.
Merci encore, et bon weekend.
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é


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Google Adsense [Bot], Grapeshot [Crawler], Proximic [Spider] et 31 invités