Dessiner un rapporteur : accolade manquante dans le code source ?
Le code source ci-dessous dessine un rapporteur avec diverses options de positionnement et de couleur.
Mais il ne compile plus et renvoie un message d'erreur "**! `! Paragraph ended before \pgffor@next was complete.**" complete.` indiquant dans les détails qu'il manque des accolades "}" `}` juste avant le **\subsection{En couleur}** `\subsection{En couleur}` et après le dernier **\end{tikzpicture}** `\end{tikzpicture}` lorsqu'on supprime une ligne inutile "**\tkzDefPoint[shift={(2,3)}](158:8){C}**" `\tkzDefPoint[shift={(2,3)}](158:8){C}` du package **tkz-euclide** `tkz-euclide` dans chacun des exemples du corps du document en première ligne des environnements **tikzpicture**.
`tikzpicture`.
\documentclass[12pt,a4paper]{article}
\usepackage[latin1,utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{lmodern}
\usepackage{fourier}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{xkeyval}
\makeatletter
%----------> \Rapporteur <----------
\definecolor{plastic}{cmyk}{0.17,0.00,0.00,0.02}
\define@cmdkey [DES] {Rapporteur} {Inclinaison}{}
\define@cmdkey [DES] {Rapporteur} {CouleurFond}{}
\define@cmdkey [DES] {Rapporteur} {CouleurGraduationsDix}{}
\define@cmdkey [DES] {Rapporteur} {CouleurTraitsGraduationsUn}{}
\define@cmdkey [DES] {Rapporteur} {CouleurTraitsGraduationsCinq}{}
\define@cmdkey [DES] {Rapporteur} {CouleurTraitsGraduationsDix}{}
\define@cmdkey [DES] {Rapporteur} {CouleurZeroInterieur}{}
\define@cmdkey [DES] {Rapporteur} {CouleurZeroExterieur}{}
\define@cmdkey [DES] {Rapporteur} {CouleurCentQuatreVingtInterieur}{}
\define@cmdkey [DES] {Rapporteur} {CouleurCentQuatreVingtExterieur}{}
\define@cmdkey [DES] {Rapporteur} {CouleurQuatreVingtDix}{}
\define@cmdkey [DES] {Rapporteur} {scale}{}
\define@cmdkey [DES] {Rapporteur} {opacite}{}
\presetkeys [DES] {Rapporteur}
{
Inclinaison = 0,
CouleurFond = black!50!blue!20!,
CouleurTraitsGraduationsUn = black!70!blue!50!,
CouleurTraitsGraduationsCinq = black!70!blue!50!,
CouleurGraduationsDix = black!70!blue!50!,
CouleurTraitsGraduationsDix = black!70!blue!50!,
CouleurZeroInterieur = black!70!blue!50!,
CouleurZeroExterieur = black!70!blue!50!,
CouleurCentQuatreVingtInterieur = black!70!blue!50!,
CouleurCentQuatreVingtExterieur = black!70!blue!50!,
CouleurQuatreVingtDix = black!70!blue!50!,
scale=1,
opacite = 0.5
}{}
%
\newcommand{\Rapporteur}[2][]{%
\setkeys[DES]{Rapporteur}{#1}
\begin{scope}[shift={(#2)},rotate=\cmdDES@Rapporteur@Inclinaison, scale=\cmdDES@Rapporteur@scale, transform shape]
% Bords intérieur et extérieur du rapporteur
\draw [fill=\cmdDES@Rapporteur@CouleurFond,even odd rule,semitransparent,rounded corners=3pt] (-160:5cm) -- (-20:5cm) arc (-20:200:5cm) -- cycle (-180:3.5cm) -- (2,0) arc(55:125:3.5cm) (2.5,0) -- (0:3.5cm) arc (0:180:3.5cm) -- cycle;
% Dessin de la flèche du centre du rapporteur
\draw [color=\cmdDES@Rapporteur@CouleurTraitsGraduationsDix](-3.5,0) -- (3.5,0);
\draw [color=\cmdDES@Rapporteur@CouleurTraitsGraduationsDix](0,-0.4) -- (0,0.4);
\draw [color=\cmdDES@Rapporteur@CouleurTraitsGraduationsDix](-0.2,0.2) -- (0.2,-0.2);
\draw [color=\cmdDES@Rapporteur@CouleurTraitsGraduationsDix](-0.2,-0.2) -- (0.2,0.2);
% Traits de graduation extérieures
% Traits de graduations intérieures et extérieures multiples de 10
\foreach \i in {0,10,...,180}
\draw [very thick,color=\cmdDES@Rapporteur@CouleurTraitsGraduationsDix](\i: 4.7 cm) -- (\i: 5 cm) (\i: 3.8 cm) -- (\i: 3.5 cm);
% Traits de graduations intérieures et extérieures multiples de 5 autres que 10
\foreach \i in {5,15,...,175}
\draw [very thick,color=\cmdDES@Rapporteur@CouleurTraitsGraduationsCinq](\i: 4.75 cm) -- (\i: 5 cm) (\i: 3.75 cm) -- (\i: 3.5 cm); %black!70!blue!50!
% Traits de graduations intérieures et extérieures degré en degré
\foreach \i in {0,10,...,170}
{
\foreach \j in {1,2,3,4,6,7,8,9}
\draw [color=\cmdDES@Rapporteur@CouleurTraitsGraduationsUn](\i + \j : {5-0.05*min(\j,10-\j)}) -- (\i + \j : 5 cm) (\i + \j : {3.5+0.05*min(\j,10-\j)}) -- (\i + \j: 3.5 cm);
}
% 0° intérieur droit - 180° extérieur droit
\draw (0: 4.5cm) node[rotate=-90,color=\cmdDES@Rapporteur@CouleurCentQuatreVingtExterieur] {180} (0: 4cm) node[rotate=90,color=\cmdDES@Rapporteur@CouleurZeroInterieur] {0};
% Graduations chiffrées intérieures jusque 100° - extérieures jusque 80°
\foreach \d in {10,20,...,80}
\pgfmathtruncatemacro{\rang}{\d}
\draw (\d:4 cm) node[rotate=\d - 90,color=\cmdDES@Rapporteur@CouleurGraduationsDix,font=\scriptsize] {\rang};
\foreach \d in {100,110,...,170}
\pgfmathtruncatemacro{\rang}{\d}
\draw (180 - \d:4.5 cm) node[rotate=90 - \d, color=\cmdDES@Rapporteur@CouleurGraduationsDix,font=\small] {\d};
% Graduation chiffrée 90°
\draw (90: 4.25cm) node[color=\cmdDES@Rapporteur@CouleurQuatreVingtDix] {90};
% Trait de graduation 90°
\draw [very thick,color=\cmdDES@Rapporteur@CouleurTraitsGraduationsDix](90: 4.6 cm) -- (90:5cm) (90: 3.9 cm) -- (90:3.5cm) ;
% Graduations chiffrées intérieures de 80° jusqu'à 10° - extérieures de 100° jusqu'à 170°
\foreach \d in {100,110,...,170}
\pgfmathtruncatemacro{\rang}{\d}
\draw (\d:4 cm) node[rotate=\d - 90,color=\cmdDES@Rapporteur@CouleurGraduationsDix,font=\scriptsize] {\rang};
\foreach \d in {10,20,...,80}
\pgfmathtruncatemacro{\rang}{\d}
\draw (180 - \d:4.5 cm) node[rotate=90 - \d, color=\cmdDES@Rapporteur@CouleurGraduationsDix,font=\small] {\d};
% 0° extérieur gauche - 180° intérieur droit
\draw (180: 4.5cm) node[rotate=90,color=\cmdDES@Rapporteur@CouleurZeroExterieur] {0} (180: 4cm) node[rotate=90,color=\cmdDES@Rapporteur@CouleurCentQuatreVingtInterieur] {180};
\end{scope}
}
\makeatother
\begin{document}
\section{Rapporteurs}
\subsection{Par défaut}
\begin{tikzpicture}
\Rapporteur{0,0}
\end{tikzpicture}
\subsection{En couleur}
\begin{tikzpicture}
\draw (1,1)node[black]{$\times$};
\draw (1,1)node[black,above]{A(1;1)};
\Rapporteur[CouleurFond=gray,
CouleurGraduationsDix=black,
CouleurTraitsGraduationsUn=blue,
CouleurTraitsGraduationsCinq=green,
CouleurTraitsGraduationsDix=red,
CouleurQuatreVingtDix=cyan,
CouleurZeroExterieur=orange,
CouleurCentQuatreVingtInterieur=yellow,
CouleurZeroInterieur=brown,
CouleurCentQuatreVingtExterieur=pink,
scale=1.5,
Inclinaison=30]{1,1}
\end{tikzpicture}
\end{document}