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{\triL}[2]{%
\newcommand{\triU}[2]{%
\raisebox{-0.5ex}{%
\tikzpicture[scale=#2]
\node[draw=#1,fill=#1,scale=#2,rotate=90,regular polygon,regular polygon sides=3,draw]{};
\endtikzpicture
}}
\newcommand{\triR}[2]{%
\raisebox{-0.5ex}{%
\tikzpicture[scale=#2]
\node[draw=#1,fill=#1,scale=#2,rotate=-90,regular polygon,regular polygon sides=3,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
}}
\newcommand{\triD}[2]{%
\raisebox{-0.5ex}{%
\tikzpicture[scale=#2]
\node[draw=#1,fill=#1,scale=#2,rotate=180,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
}}
\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{\triL}[2]{%
\raisebox{-0.5ex}{%
\tikzpicture[scale=#2]
\node[draw=#1,fill=#1,scale=#2,rotate=90,regular polygon,regular polygon sides=3,draw]{};
\endtikzpicture
}}
\newcommand{\triR}[2]{%
\raisebox{-0.5ex}{%
\tikzpicture[scale=#2]
\node[draw=#1,fill=#1,scale=#2,rotate=-90,regular polygon,regular polygon sides=3,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
}}
\newcommand{\triD}[2]{%
\raisebox{-0.5ex}{%
\tikzpicture[scale=#2]
\node[draw=#1,fill=#1,scale=#2,rotate=180,regular polygon,regular polygon sides=3,draw]{};
\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}