J'essaye de mettre plusieurs courbes en subfigures dans une seule grande figure mais j'ai les courbes qui se chevauchent et les titres qui sont pas centrés. Que faire ?

Ouvrir dans l'éditeur Overleaf
    \documentclass[secnumdepth=subsubsection,12pt,space=onehalf,fncychap=Bjornstrup]{yathesis}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepackage{floatrow}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{listings}
\usepackage{microtype}
\usepackage{subcaption}
\usepackage{varioref}
\usepackage{array}
\usepackage{xcolor}
\usepackage[xindy,quiet]{imakeidx}
\usepackage[autostyle]{csquotes}
\usepackage{hyperref}

\begin{document}
\begin{figure}
    \centering
    \begin{subfigure}[b]{.45\linewidth}
        \centering
        \begin{tikzpicture}
        \begin{semilogxaxis}[
        xlabel=Taille (nm),
        ylabel=Intensité (\%)
        ]
    \addplot coordinates {
        (0,1) (1,10) (2,100)
        };
        \end{semilogxaxis}
        \end{tikzpicture}
        \caption{OSS-$\alpha$-CD-(DOM-[1]-Me)1,6}
    \end{subfigure}
    \begin{subfigure}[b]{.45\linewidth}
        \centering
        \begin{tikzpicture}
    \begin{semilogxaxis}[
    xlabel=Taille (nm),
    ylabel=Intensité (\%)
    ]
    \addplot coordinates {
    (0,1) (1,10) (2,100)
};
    \end{semilogxaxis}
    \end{tikzpicture}
    \caption{OSS-$\alpha$-CD-(DOM-[1]-Na)1,5}
    \end{subfigure}
    \begin{subfigure}[b]{.45\linewidth}
        \centering
            \begin{tikzpicture}
        \begin{semilogxaxis}[
        xlabel=Taille (nm),
        ylabel=Intensité (\%)
        ]
        \addplot coordinates {
        (0,1) (1,10) (2,100)
    };
        \end{semilogxaxis}
        \end{tikzpicture}
        \caption{OSS-$\beta$-CD-(DOM-[1]-Me)1,6}
    \end{subfigure}

    \caption{Analyses de tensiométrie de différentes OSS-CDs}
    \label{tensiom}
\end{figure} 
\end{document}

Posée 31 Aoû '17, 16:17

Aur%C3%A9lienCocq's gravatar image

AurélienCocq
1.2k85466
Taux d'acceptation : 28%


J'ai trouvé sur TeX StackExchange une solution avec la clef scale, qui met les graphiques à l'échelle sans toucher aux textes, et réalise donc la fonctionnalité de pstricks consistant à choisir ses unités sur les axes.

Donc, voici une mise à l'échelle 0.75:

Ouvrir dans l'éditeur Overleaf
\PassOptionsToPackage{showframe}{geometry}
 \documentclass[secnumdepth=subsubsection,12pt,space=onehalf,fncychap=Bjornstrup]{yathesis}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepackage{floatrow}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{listings}
\usepackage{microtype}
\usepackage{subcaption}
\usepackage{varioref}
\usepackage{array}
\usepackage{xcolor}
\usepackage[xindy,quiet]{imakeidx}
\usepackage[autostyle]{csquotes}
\usepackage{hyperref}

\pgfplotsset{compat=1.15}

\begin{document}

\begin{figure}
    \centering\footnotesize
    \begin{subfigure}[b]{.45\linewidth}
        \centering
        \begin{tikzpicture}[]
        \begin{semilogxaxis}[
        xlabel=Taille (nm),
        ylabel=Intensité (\%),
        scale =0.75
        ]
    \addplot coordinates {
        (0,1) (1,10) (2,100)
        };
        \end{semilogxaxis}
        \end{tikzpicture}
        \caption{OSS-$\alpha$-CD-(DOM-[1]-Me)1,6}
    \end{subfigure}
\hfill
    \begin{subfigure}[b]{.45\linewidth}
        \centering
        \begin{tikzpicture}
    \begin{semilogxaxis}[
    xlabel=Taille (nm),
    ylabel=Intensité (\%),
        scale =0.75
    ]
    \addplot coordinates {
    (0,1) (1,10) (2,100)
};
    \end{semilogxaxis}
    \end{tikzpicture}
    \caption{OSS-$\alpha$-CD-(DOM-[1]-Na)1,5}
    \end{subfigure}
\mbox{}\vspace{6ex}

    \begin{subfigure}[b]{.45\linewidth}
        \centering
            \begin{tikzpicture}
        \begin{semilogxaxis}[
        xlabel=Taille (nm),
        ylabel=Intensité (\%),
        scale =0.75
        ]
        \addplot coordinates {
        (0,1) (1,10) (2,100)
    };
        \end{semilogxaxis}
        \end{tikzpicture}
        \caption{OSS-$\beta$-CD-(DOM-[1]-Me)1,6}
    \end{subfigure}

    \caption{Analyses de tensiométrie de différentes OSS-CDs}
    \label{tensiom}
\end{figure}

\end{document}

alt text

Lien permanent

Publiée 31 Aoû '17, 18:15

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Comme le dit @Bernard, il y débordement des tikzpictures (indiqués avec les avertissements : Overfull \hbox (51.90787pt too wide) in paragraph at lines 49--50 ). Donc avec l'option scale de tikz que l'on peut passer directement à l'environnement \begin{tikzpicture}[scale=0.75]. Il y aussi une espace parasite entre les deux environnements \begin{subfigure} en supprimant cette espace parasite on peut passer l'option .5\linewidth sans débordement.

J'ai rajouté \pgfplotsset{compat=1.15} comme demandé dans le fichier .log (Il est important de lire et comprendre ces avertissements : voir ici)

Important : l'extension subfigure est obsolète, voir le CTAN. J'utiliserai plutôt l'extension subfig.

Ouvrir dans l'éditeur Overleaf
\documentclass{yathesis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
    \pgfplotsset{compat=1.15}
\usepackage{subfig}%\usepackage{floatrow}

    \begin{document}
    \begin{figure}
        \begin{center}
        \subfloat[OSS-$\alpha$-CD-(DOM-{[1]}-Me)1,6]{
            \begin{tikzpicture}[scale=0.75]
            \begin{semilogxaxis}[
            xlabel=Taille (nm),
            ylabel=Intensité (\%)
            ]
        \addplot coordinates {
            (0,1) (1,10) (2,100)
            };
            \end{semilogxaxis}
            \end{tikzpicture}
            }
        \subfloat[OSS-$\alpha$-CD-(DOM-{[1]}-Na)1,5]{
            \begin{tikzpicture}[scale=0.75]
        \begin{semilogxaxis}[
        xlabel=Taille (nm),
        ylabel=Intensité (\%)
        ]
        \addplot coordinates {%
        (0,1) (1,10) (2,100)
        };
        \end{semilogxaxis}
        \end{tikzpicture}
        }
        \end{center}

        \begin{center}
        \subfloat[OSS-$\beta$-CD-(DOM-{[1]}-Me)1,6]{%
            \begin{tikzpicture}[scale=0.75]%
            \begin{semilogxaxis}[%
            xlabel=Taille (nm),
            ylabel=Intensité (\%)
            ]%
            \addplot coordinates {
            (0,1) (1,10) (2,100)
         };
            \end{semilogxaxis}
            \end{tikzpicture}
           }
        \end{center}
        \caption{Analyses de tensiométrie de différentes OSS-CDs}
        \label{tensiom}
    \end{figure} 
    \end{document}

Il n'y a plus de débordement et les légendes sont centrées. (si elle n'y paraissent pas c'est dû à l'axe de gauche et sa légende. Regardez ce que l'on obtient en mettant dans une \fbox

Les légendes sont bien centrées.

Dernier détail, il faut mettre les crochets des légendes entre deux accolades ({[1]}) sinon le crochet fermant est interprété comme la fin du texte de la légende.

Lien permanent

Publiée 31 Aoû '17, 20:59

Nikopol's gravatar image

Nikopol
1.0k614
Taux d'acceptation : 42%

Modifiée 31 Aoû '17, 21:14

Quel fichier? l'extension subfig est dans les distributions à jour. je ne comprend pas la question.

(01 Sep '17, 02:35) Nikopol Nikopol's gravatar image

@Nikopol j'ai un probleme en compilant le fichier du fait d'avoir mis des sous figures : "Not in outer par mode"

(01 Sep '17, 17:48) AurélienCocq Aur%C3%A9lienCocq's gravatar image

Not in outer par mode : On obtient cette erreur lorsqu'un environnement \marginpar ou un environnement flottant, tel que table ou figure, se trouve à l'intérieur d'une commande ou d'un environnement produisant une boîte. Par exemple, on ne peut pas utiliser un \marginpar dans une note de bas de page, un flottant, un tabular, ou tout autre emplacement analogue (puisqu'ils produisent tous des boîtes). On doit déplacer l'objet fautif dans le texte principal.

(01 Sep '17, 18:45) Nikopol Nikopol's gravatar image

Difficile d'en dire plus sans autres informations ou codes, peut être devriez-vous poster une question avec le code incriminé.

(01 Sep '17, 18:47) Nikopol Nikopol's gravatar image

Je ne suis pas sur mais je pense qu'il s'agit d'une incompatibilité des packages subcaption et subfig mais jevais vérifier et je poserai une nouvelle question si le problème persiste

(01 Sep '17, 19:35) AurélienCocq Aur%C3%A9lienCocq's gravatar image

Je confirme les incompatibilités. De plus,subfig a des problèmes avec hyperref que n'a pas subcaption. Voir cette question sur le sujet sur TeX StackExchange. Pour un usage un peu plus spohistiqué, voir la documentation de floatrow, qui coopère avec caption/subcaption.

(02 Sep '17, 01:06) Bernard Bernard's gravatar image

@Nikopol Je dois inserer des images à la place des graphiques, ne pouvant plus utiliser {subfigure} avec le package {subcaption}, que dois je remplacer dans le code afin d'inclure mes images au lieu des graphiques ?

(03 Sep '17, 17:35) AurélienCocq Aur%C3%A9lienCocq's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.