Graphiques Tikz sur deux colonnes et titres (\caption)

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.

Graphiques Tikz sur deux colonnes et titres (\caption)

Messagepar neige » Samedi 18 Août 2012, 03:09

Bonjour à toutes et à tous,

J'ai fait deux graphiques avec tikZ que je souhaite mettre cote à cote (deux colonnes : un graphique dans chaque colonne) avec un titre pour chacun de ces deux graphiques.
Pour avoir les deux graphiques sur deux colonnes j'ai utilisé l'environnement \table. Pour avoir les titres de graphiques, j'ai utilisé la commande \caption. Voici mon code :

Code: Tout sélectionner
\documentclass[11pt,a4paper, titlepage]{article}
\usepackage[latin1]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[english,francais]{babel}
\usepackage[onehalfspacing]{setspace}
\usepackage{indentfirst}
\usepackage{booktabs}
\usepackage{array}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{lscape}
\usepackage[pdftex]{graphicx}
%\usepackage[dvips]{graphicx}
\usepackage{array}
\usepackage{caption}
%\usepackage{floatrow}
\usepackage[round]{natbib}
\usepackage[left=2.5cm,right=2.5cm, top=2.5cm,bottom=2.5cm]{geometry}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{url}
\usepackage{eurosym}
%\usepackage[hKV-listi]{subfig}
\usepackage[countmax]{subfloat}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{tikz}
\usepackage{longtable}
\usepackage{appendix}
\usepackage{subfigure}
\addto\captionsfrench{%
  \renewcommand{\listfigurename}{Fig.}%
  \renewcommand{\listtablename}{Table}%
}% \usepackage{float}
%\usepackage{biblatex}
%\usepackage[babel]{csquotes}
\usepackage{ulem}
\usepackage{color}
\usepackage[LGR,T1]{fontenc}
\usepackage{multicol}


\begin{document}

\begin{table}
\newcolumntype{A}{>{\upshape}m{0.45\textwidth}}
\begin{tabular}{A|A}

\begin{figure}
\begin{tikzpicture}
 \draw[->] (-0.5,0) -- (4,0); \draw (4,0) node[right] {$q$};
 \draw[->] (0,-0.5) -- (0,4); \draw (0,4) node[above] {$p$};
 \draw[thin] (0,3) -- (3,0.5) node [below right] at (3,0.7)
{$D_g(p)$};  \draw [thin] (0,1) -- (3,3) node [above right] at (3,3)
{$O_g(p)$};


 \draw[dashed] (1.35,1.9) -- (1.35,0) node[below] {$q$};
 \draw [dashed] (1.35,1.9) -- (0,1.9) node[left] {$p$};

 \draw[fill] (1.35,1.9) circle [radius=0.05];  \node
[above right] at (1,2) {$A$};


 \draw[thin, red] (0,3.75) -- (3,1.3) node [below right, red]
at (2.95,1.35) {$D_g(p)^{'}$};



 \draw[dashed, red] (1.85,2.25) -- (1.85,0) node[below]
{$q^{'}$};  \draw [dashed, red] (1.85,2.25) --(0,2.25) node[left]
{$p^{'}$};

 \draw[fill, red] (1.85,2.25) circle [radius=0.05]; \node
[above, red] at (1.85,2.35) {$A^{'}$};


\end{tikzpicture}

\caption{\centering Déplacement de la courbe de demande vers le haut
[augmentation de la demande]} \label{demhau}
\end{figure}   &
\begin{figure}
\begin{tikzpicture}
 \draw[->] (-0.5,0) -- (4,0); \draw (4,0) node[right] {$q$};
 \draw[->] (0,-0.5) -- (0,4); \draw (0,4) node[above] {$p$};
 \draw[thin, red] (0,3) -- (3,0.5) node [below right, red] at
(3,0.7) {$D_g(p)^{'}$};  \draw [thin] (0,1) -- (3,3) node [above
right] at (3,3) {$O_g(p)$};


 \draw[dashed, red] (1.35,1.9) -- (1.35,0) node[below, red]
{$q^{'}$};  \draw [dashed, red] (1.35,1.9) -- (0,1.9) node[left,
red] {$p^{'}$};

 \draw[fill, red] (1.35,1.9) circle [radius=0.05]; \node
[above right, red] at (1,2) {$A^{'}$};


 \draw[thin] (0,3.75) -- (3,1.3) node [below right] at (3,1.3)
{$D_g(p)$};


 \draw[dashed] (1.85,2.25) -- (1.85,0) node[below] {$q$};
 \draw [dashed] (1.85,2.25) --(0,2.25) node[left] {$p$};

 \draw[fill] (1.85,2.25) circle [radius=0.05];  \node [above]
at (1.85,2.35) {$A$};

\end{tikzpicture}
\caption{\centering Déplacement de la courbe de demande vers le bas
[baisse de la demande]} \label{demba}
\end{figure}  \tabularnewline

\end{tabular}
\end{table}

\end{document}


J'obtiens le message d'erreur suivant :"not in outer par mode"
D'après ce que j'ai compris, on ne peut pas utiliser l'environnement tikzpicture dans un environnement table. C'est cela ? Une idée sur comment je peux résoudre mon problème.

PS: le même code marche très bien sur Breamer !

Merci d'avance de votre aide
neige
Hecto-utilisateur
 
Messages: 64
Inscription: Lundi 19 Décembre 2011, 12:37
Statut actuel: Post-bac

Publicité

Re: Graphiques Tikz sur deux colonnes + titres (\caption)

Messagepar pg » Samedi 18 Août 2012, 05:56

On ne peut pas mettre de {figure} dans une {table}, ce qui oblige à remplacer les \caption par des \captionof{figure} et ensuite il faut enlever les \centering :

Code: Tout sélectionner
\documentclass[11pt,a4paper, titlepage]{article}
\usepackage[latin1]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[english,francais]{babel}
\usepackage[onehalfspacing]{setspace}
\usepackage{indentfirst}
\usepackage{booktabs}
\usepackage{array}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{lscape}
\usepackage[pdftex]{graphicx}
%\usepackage[dvips]{graphicx}
\usepackage{array}
\usepackage{caption}
%\usepackage{floatrow}
\usepackage[round]{natbib}
\usepackage[left=2.5cm,right=2.5cm, top=2.5cm,bottom=2.5cm]{geometry}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{url}
\usepackage{eurosym}
%\usepackage[hKV-listi]{subfig}
\usepackage[countmax]{subfloat}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{tikz}
\usepackage{longtable}
\usepackage{appendix}
\usepackage{subfigure}
\addto\captionsfrench{%
  \renewcommand{\listfigurename}{Fig.}%
  \renewcommand{\listtablename}{Table}%
}% \usepackage{float}
%\usepackage{biblatex}
%\usepackage[babel]{csquotes}
\usepackage{ulem}
\usepackage{color}
\usepackage[LGR,T1]{fontenc}
\usepackage{multicol}


\begin{document}



\begin{table}
\newcolumntype{A}{>{\upshape}p{0.45\textwidth}}
\begin{tabular}{A|A}

\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0); \draw (4,0) node[right] {$q$};
\draw[->] (0,-0.5) -- (0,4); \draw (0,4) node[above] {$p$};
\draw[thin] (0,3) -- (3,0.5) node [below right] at (3,0.7)
{$D_g(p)$};  \draw [thin] (0,1) -- (3,3) node [above right] at (3,3)
{$O_g(p)$};


\draw[dashed] (1.35,1.9) -- (1.35,0) node[below] {$q$};
\draw [dashed] (1.35,1.9) -- (0,1.9) node[left] {$p$};

\draw[fill] (1.35,1.9) circle [radius=0.05];  \node
[above right] at (1,2) {$A$};


\draw[thin, red] (0,3.75) -- (3,1.3) node [below right, red]
at (2.95,1.35) {$D_g(p)^{'}$};



\draw[dashed, red] (1.85,2.25) -- (1.85,0) node[below]
{$q^{'}$};
\draw[dashed, red] (1.85,2.25) --(0,2.25) node[left]
{$p^{'}$};

\draw[fill, red] (1.85,2.25) circle [radius=0.05];
\node[above, red] at (1.85,2.35) {$A^{'}$};

\end{tikzpicture}

\captionof{figure}{Déplacement de la courbe de demande vers le haut [augmentation de la demande]} \label{demhau}
&
\begin{tikzpicture}
\draw[->] (-0.5,0) -- (4,0); \draw (4,0) node[right] {$q$};
\draw[->] (0,-0.5) -- (0,4); \draw (0,4) node[above] {$p$};
\draw[thin, red] (0,3) -- (3,0.5) node [below right, red] at
(3,0.7) {$D_g(p)^{'}$};  \draw [thin] (0,1) -- (3,3) node [above
right] at (3,3) {$O_g(p)$};


\draw[dashed, red] (1.35,1.9) -- (1.35,0) node[below, red]
{$q^{'}$};  \draw [dashed, red] (1.35,1.9) -- (0,1.9) node[left,
red] {$p^{'}$};

\draw[fill, red] (1.35,1.9) circle [radius=0.05]; \node
[above right, red] at (1,2) {$A^{'}$};


\draw[thin] (0,3.75) -- (3,1.3) node [below right] at (3,1.3)
{$D_g(p)$};


\draw[dashed] (1.85,2.25) -- (1.85,0) node[below] {$q$};
\draw [dashed] (1.85,2.25) --(0,2.25) node[left] {$p$};

\draw[fill] (1.85,2.25) circle [radius=0.05];  \node [above]
at (1.85,2.35) {$A$};

\end{tikzpicture}
\captionof{figure}{Déplacement de la courbe de demande vers le bas [baisse de la demande]} \label{demba}
\tabularnewline\end{tabular}\end{table}

\end{document}


Mais pour ce genre de choses, pourquoi ne pas utiliser le package subfig ? (ou subcaption)
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Graphiques Tikz sur deux colonnes + titres (\caption)

Messagepar neige » Samedi 18 Août 2012, 16:38

Merci beaucoup pour votre aide :D

Avec le package \subcaption c'est parfait. J'ai, toutefois, autre petite question : vous avez dit qu'on ne peut pas mettre {figure} dans {table}. Mais moi pourquoi cela ne marche pas dans un \documentclass[]{article} mais marche dans un \documentclass[]{beamer} ?

Merci d'avance et bon weekend
neige
Hecto-utilisateur
 
Messages: 64
Inscription: Lundi 19 Décembre 2011, 12:37
Statut actuel: Post-bac


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google Adsense [Bot] et 28 invités