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. indiquant dans les détails qu'il manque des accolades } juste avant le \subsection{En couleur} et après le dernier \end{tikzpicture} lorsqu'on supprime une ligne inutile \tkzDefPoint[shift={(2,3)}](158:8){C} du package tkz-euclide dans chacun des exemples du corps du document en première ligne des environnements tikzpicture.

Ouvrir dans l'éditeur Overleaf
\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}

Posée 07 Déc '19, 15:43

pdesmons's gravatar image

pdesmons
274817
Taux d'acceptation : 40%

Modifiée 07 Déc '19, 15:50

samcarter's gravatar image

samcarter
8.2k2817


Vous avez écrit \foreach \i in {0,10,...,180} \draw ...;, mais ça doit être \foreach \i in {0,10,...,180}{ \draw ...;}

Ouvrir dans l'éditeur Overleaf
\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}

alt text

Lien permanent

Publiée 07 Déc '19, 15:58

samcarter's gravatar image

samcarter
8.2k2817
Taux d'acceptation : 57%

Modifiée 07 Déc '19, 16:04

Exact et le code compile !!!

(07 Déc '19, 16:27) pdesmons pdesmons's gravatar image
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.