Commandes TikZ dans des 'captions'« captions »
J'ai un souci avec un code qui fait exactement ce que j'en attends... mais, mais qui produit en même temps plein de messages d'erreur, et j'aimerai j'aimerais bien comprendre pourquoi.
J'ai besoin de tracer plusieurs courbes (ce que j'ai fait avec gnuplot, `gnuplot` ; je les ai sorties au format .eps, `.eps`, pas inclues ici car ne posant pas de problème) et je me suis fait des 'markers' « markers » à la main avec TikZ Ti*k*Z pour les inclure dans la légende (caption).
\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
\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}
Le paquetage `subfig` ne semble pas être en cause car en séparant en 3 figures indépendantes et successives, j'obtiens les mêmes erreurs, de type :
`! Argument of \pgfutil@in@@ has an extra }.`
`! }.
! Undefined control sequence.`
Désolé pour cet exemple qui n'est peut-être pas tout à fait "minimum".
minimal.
Si on peut m'expliquer pourquoi ces erreurs sont générées (et accessoirement comment les éviter avec le même résultat) lors de l'inclusion de commandes à base de TikZ Ti*k*Z dans des 'captions', « captions », je serai serais ravi, sinon je ferais ferai avec puisque le résultat obtenu me satisfait.