Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 4
mineure

08 Aoû '17, 02:09

Pathe's gravatar image

Pathe
7.6k49210252

Je suppose que les illustrations réalisées avec `tikz` dans la légende sont problématiques lorsque l'on veut mettre les légendes dans une *liste des figures*. Il faut donc que la *légende courte*, qui est par défaut identique à la *légende longue* longue*, ne contienne pas de commandes `tikz`. Je propose ici de mettre des *légendes courtes* vides (donc à modifier si tu fais par exemple une *liste des figures*). Rappel : `\caption[legende-courte]{legende-longue}` En utilisant `subfig` : \documentclass[12pt,a4paper]{article} \usepackage{subfig} \usepackage{tikz} \usetikzlibrary{arrows,shapes,decorations.pathmorphing,calc,decorations.pathreplacing} \usepackage{todonotes} % markers for plot caption \newcommand{\rond}[2]{% \raisebox{-0.5ex}{% \tikzpicture \draw [draw=#1,fill=#1](0,0) circle (#2); \endtikzpicture }} \newcommand{\diam}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,diamond,draw]{}; %offset={-1ex}, \endtikzpicture }} \newcommand{\pentag}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,regular polygon,draw]{}; \endtikzpicture }} \newcommand{\carre}[2]{% \raisebox{-0.5ex}{% \tikzpicture[scale=#2] \node[draw=#1,fill=#1,scale=#2,regular polygon,regular polygon sides=4,draw]{}; \endtikzpicture }} \newcommand{\triU}[2]{% \raisebox{-0.5ex}{% \tikzpicture[scale=#2] \node[draw=#1,fill=#1,scale=#2,regular polygon,regular polygon sides=3,draw]{}; \endtikzpicture }} \begin{document} \begin{figure}[htbp] \centering \subfloat[][(\rond{blue}{5pt}) compound A and (\diam{red}{0.8}) compound B]{\label{fig:subA}\missingfigure{Remplace la sous-figure a}} \subfloat[][(\pentag{{rgb,255:red,0; green,0; blue,128}}{1}) compound C, (\carre{{rgb,255:red,0; green,102; blue,153}}{0.9}) compound D, (\triU{blue}{0.7}) compound E and (\rond{cyan}{5pt}) compound F]{\label{fig:subB}\missingfigure{Remplace la sous-figure b}} \subfloat[][(\rond{{rgb,255:red,51; green,102; blue,0}}{5pt}) compound G, (\pentag{{rgb,255:red,51; green,204; blue,0}}{1}) compound H, (\carre{{rgb,255:red,102; green,204; blue,102}}{1}) compound I, (\triU{{rgb,255:red,102; green,255; blue,0}}{0.7}) compound J]{\label{fig:subC}\missingfigure{Remplace la sous-figure c}} \caption{Evolution of the reaction mixture composition during the course of a typical experiment} \end{figure} \end{document} Sans utiliser `subfig` : \documentclass[12pt,a4paper]{article} %\usepackage{subfig} \usepackage{tikz} \usetikzlibrary{arrows,shapes,decorations.pathmorphing,calc,decorations.pathreplacing} \usepackage{todonotes} % markers for plot caption \newcommand{\rond}[2]{% \raisebox{-0.5ex}{% \tikzpicture \draw [draw=#1,fill=#1](0,0) circle (#2); \endtikzpicture }} \newcommand{\diam}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,diamond,draw]{}; %offset={-1ex}, \endtikzpicture }} \begin{document} \begin{figure}[htbp] \centering \missingfigure{Remplace sous-figure a} \caption[]{(\rond{blue}{5pt}) compound A and (\diam{red}{0.8}) compound B} \label{fig:A} \end{figure} \end{document} **EDIT** Complément de réponse Après une petite recherche sur internet, je suis tombé sur [cette question](http://tex.stackexchange.com/questions/56079/using-tikz-inside-a-figure-caption). Il est possible de garder les deux légendes identiques (la courte et la longue) contenant des éléments `tikz`. Il faut utiliser la commande `\protect`, qui permet d'avoir, par exemple, des symboles dans les légendes de la *liste des figures*. \documentclass[12pt,a4paper]{article} %\usepackage{subfig} \usepackage{tikz} \usetikzlibrary{arrows,shapes,decorations.pathmorphing,calc,decorations.pathreplacing} \usepackage{todonotes} % markers for plot caption \newcommand{\rond}[2]{% \raisebox{-0.5ex}{% \tikzpicture \draw [draw=#1,fill=#1](0,0) circle (#2); \endtikzpicture }} \newcommand{\diam}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,diamond,draw]{}; %offset={-1ex}, \endtikzpicture }} \begin{document} \listoffigures \begin{figure}[htbp] \centering \missingfigure{Remplace sous-figure a} \caption{(\protect\rond{blue}{5pt}) compound A and (\protect\diam{red}{0.8}) compound B} \label{fig:A} \end{figure} \end{document}
cliquez ici pour masquer/afficher la révision 3
Complément d'informations avec la commande `\protect`

19 Jan '17, 16:13

jerome%20dequeker's gravatar image

jerome dequeker
836714

Je suppose que les illustrations réalisées avec `tikz` dans la légende sont problématiques lorsque l'on veut mettre les légendes dans une *liste des figures*. Il faut donc que la *légende courte*, qui est par défaut identique à la *légende longue* ne contienne pas de commandes `tikz`. Je propose ici de mettre des *légendes courtes* vides (donc à modifier si tu fais par exemple une *liste des figures*). Rappel : `\caption[legende-courte]{legende-longue}` En utilisant `subfig` : \documentclass[12pt,a4paper]{article} \usepackage{subfig} \usepackage{tikz} \usetikzlibrary{arrows,shapes,decorations.pathmorphing,calc,decorations.pathreplacing} \usepackage{todonotes} % markers for plot caption \newcommand{\rond}[2]{% \raisebox{-0.5ex}{% \tikzpicture \draw [draw=#1,fill=#1](0,0) circle (#2); \endtikzpicture }} \newcommand{\diam}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,diamond,draw]{}; %offset={-1ex}, \endtikzpicture }} \newcommand{\pentag}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,regular polygon,draw]{}; \endtikzpicture }} \newcommand{\carre}[2]{% \raisebox{-0.5ex}{% \tikzpicture[scale=#2] \node[draw=#1,fill=#1,scale=#2,regular polygon,regular polygon sides=4,draw]{}; \endtikzpicture }} \newcommand{\triU}[2]{% \raisebox{-0.5ex}{% \tikzpicture[scale=#2] \node[draw=#1,fill=#1,scale=#2,regular polygon,regular polygon sides=3,draw]{}; \endtikzpicture }} \begin{document} \begin{figure}[htbp] \centering \subfloat[][(\rond{blue}{5pt}) compound A and (\diam{red}{0.8}) compound B]{\label{fig:subA}\missingfigure{Remplace la sous-figure a}} \subfloat[][(\pentag{{rgb,255:red,0; green,0; blue,128}}{1}) compound C, (\carre{{rgb,255:red,0; green,102; blue,153}}{0.9}) compound D, (\triU{blue}{0.7}) compound E and (\rond{cyan}{5pt}) compound F]{\label{fig:subB}\missingfigure{Remplace la sous-figure b}} \subfloat[][(\rond{{rgb,255:red,51; green,102; blue,0}}{5pt}) compound G, (\pentag{{rgb,255:red,51; green,204; blue,0}}{1}) compound H, (\carre{{rgb,255:red,102; green,204; blue,102}}{1}) compound I, (\triU{{rgb,255:red,102; green,255; blue,0}}{0.7}) compound J]{\label{fig:subC}\missingfigure{Remplace la sous-figure c}} \caption{Evolution of the reaction mixture composition during the course of a typical experiment} \end{figure} \end{document} Sans utiliser `subfig` : \documentclass[12pt,a4paper]{article} %\usepackage{subfig} \usepackage{tikz} \usetikzlibrary{arrows,shapes,decorations.pathmorphing,calc,decorations.pathreplacing} \usepackage{todonotes} % markers for plot caption \newcommand{\rond}[2]{% \raisebox{-0.5ex}{% \tikzpicture \draw [draw=#1,fill=#1](0,0) circle (#2); \endtikzpicture }} \newcommand{\diam}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,diamond,draw]{}; %offset={-1ex}, \endtikzpicture }} \begin{document} \begin{figure}[htbp] \centering \missingfigure{Remplace sous-figure a} \caption[]{(\rond{blue}{5pt}) compound A and (\diam{red}{0.8}) compound B} \label{fig:A} \end{figure} \end{document} **EDIT** Complément de réponse Après une petite recherche sur internet, je suis tombé sur [cette question](http://tex.stackexchange.com/questions/56079/using-tikz-inside-a-figure-caption). Il est possible de garder les deux légendes identiques (la courte et la longue) contenant des éléments `tikz`. Il faut utiliser la commande `\protect`, qui permet d'avoir, par exemple, des symboles dans les légendes de la *liste des figures*. \documentclass[12pt,a4paper]{article} %\usepackage{subfig} \usepackage{tikz} \usetikzlibrary{arrows,shapes,decorations.pathmorphing,calc,decorations.pathreplacing} \usepackage{todonotes} % markers for plot caption \newcommand{\rond}[2]{% \raisebox{-0.5ex}{% \tikzpicture \draw [draw=#1,fill=#1](0,0) circle (#2); \endtikzpicture }} \newcommand{\diam}[2]{% \raisebox{-0.5ex}{% \tikzpicture \node[draw=#1,fill=#1,scale=#2,diamond,draw]{}; %offset={-1ex}, \endtikzpicture }} \begin{document} \listoffigures \begin{figure}[htbp] \centering \missingfigure{Remplace sous-figure a} \caption{(\protect\rond{blue}{5pt}) compound A and (\protect\diam{red}{0.8}) compound B} \label{fig:A} \end{figure} \end{document}
cliquez ici pour masquer/afficher la révision 2
Réduction des ECMs

19 Jan '17, 16:02

jerome%20dequeker's gravatar image

jerome dequeker
836714

cliquez ici pour masquer/afficher la révision 1

19 Jan '17, 14:37

jerome%20dequeker's gravatar image

jerome dequeker
836714

C'est votre première visite ici ? Consultez la FAQ !

×