Opération sur les arguments

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Opération sur les arguments

Messagepar Mikelenain » Dimanche 08 Janvier 2012, 18:04

J'aimerais utiliser des arguments pour faire un rapporteur qui pourrait tourner à mon gré. Malheureusement, il semblerait que l'on ne puisse utiliser des arguments combinés avec des opérations.
Je colle ici le code que je veux utiliser (pour alléger le truc, je n'ai mis que la première ligne)

Code: Tout sélectionner
\newcommand{\rapporteur}[1]
{
   \psarc(0,0){5}{0+{#1}}{180}
}


Comment puis-je y remédier ?
Voici le code complet à partir duquel je pars pour créer un rapporteur :

Code: Tout sélectionner
\newcommand{\Rapporteur}[1]{
\psarc(0,0){5}{0+{#1}}{180}
\psarc(0,0){4.5}{0}{180}
\psarc(0,0){3}{0}{180}
\psarc(0,0){0.5}{0}{180}
\SpecialCoor
\multido{\i=0+1}{181}{\psline(4.5;\i)(5;\i)}
\multido{\i=0+10}{19}{\psline(4;\i)(5;\i)}
\psframe(-5,-1)(5,0)
\multido{\i=5+10}{18}{\psline(4.25;\i)(5;\i)}
\rput(3.75;180){\rotatebox{90}{\begin{footnotesize}0\degre\end{footnotesize}}}
\rput(3.85;170){\rotatebox{80}{\begin{footnotesize}10\degre\end{footnotesize}}}
\rput(3.75;160){\rotatebox{70}{\begin{footnotesize}20\degre\end{footnotesize}}}
\rput(3.85;150){\rotatebox{60}{\begin{footnotesize}30\degre\end{footnotesize}}}
\rput(3.75;140){\rotatebox{50}{\begin{footnotesize}40\degre\end{footnotesize}}}
\rput(3.85;130){\rotatebox{40}{\begin{footnotesize}50\degre\end{footnotesize}}}
\rput(3.75;120){\rotatebox{30}{\begin{footnotesize}60\degre\end{footnotesize}}}
\rput(3.85;110){\rotatebox{20}{\begin{footnotesize}70\degre\end{footnotesize}}}
\rput(3.75;100){\rotatebox{10}{\begin{footnotesize}80\degre\end{footnotesize}}}
\rput(3.85;90){\rotatebox{0}{\begin{footnotesize}90\degre\end{footnotesize}}}
\rput(3.75;80){\rotatebox{-10}{\begin{footnotesize}100\degre\end{footnotesize}}}
\rput(3.85;70){\rotatebox{-20}{\begin{footnotesize}110\degre\end{footnotesize}}}
\rput(3.75;60){\rotatebox{-30}{\begin{footnotesize}120\degre\end{footnotesize}}}
\rput(3.85;50){\rotatebox{-40}{\begin{footnotesize}130\degre\end{footnotesize}}}
\rput(3.75;40){\rotatebox{-50}{\begin{footnotesize}140\degre\end{footnotesize}}}
\rput(3.85;30){\rotatebox{-60}{\begin{footnotesize}150\degre\end{footnotesize}}}
\rput(3.75;20){\rotatebox{-70}{\begin{footnotesize}160\degre\end{footnotesize}}}
\rput(3.85;10){\rotatebox{-80}{\begin{footnotesize}170\degre\end{footnotesize}}}
\rput(3.75;0){\rotatebox{-90}{\begin{footnotesize}180\degre\end{footnotesize}}}
\pscircle[fillstyle=solid, fillcolor=white]{0.1}
\NormalCoor
}
"L'ignorance n'est pas ne pas connaître, c'est ne pas vouloir connaître."

Une ch'tio peu d'pub :Ina-Ich

Ubuntu | LibreOffice | GnuPlot | PidGin | irssi | Mozilla | VLC ...
Mikelenain
Exa-utilisateur
 
Messages: 2652
Inscription: Dimanche 28 Février 2010, 11:54
Localisation: Région Lyonnaise
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: opération sur les arguments

Messagepar un bon petit » Dimanche 08 Janvier 2012, 23:11

Code: Tout sélectionner
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pstricks,multido}
\newdimen\rayonrapporteur
\rayonrapporteur=5cm
\newcommand\rapporteur[1][0]{
   \begingroup
      \psset{unit=1cm,dimen=middle}
      \SpecialCoor
      \rput{#1}{%
         \pswedge\rayonrapporteur{0}{180}
         \multido{\n=1+1}{179}{\psline[linewidth=.25\pslinewidth](.95\rayonrapporteur;\n)(\rayonrapporteur;\n)}
         \multido{\n=5+10}{17}{\psline[linewidth=.5\pslinewidth](.9\rayonrapporteur;\n)(\rayonrapporteur;\n)}
         \multido{\n=10+10}{17}{%
            \psline[linewidth=.4pt, linecolor=gray](0;\n)(\rayonrapporteur;\n)
            \rput*{\number\numexpr\n-90\relax}(.8\rayonrapporteur;\n){\n}%
            }
      }%
   \endgroup
}
\begin{document}
Un demi rapporteur :
\vskip5cm
\hfill\rapporteur[0]\hfill\null
\vskip2cm

tourné de 30 degrés :
\vskip3cm
\hfill\rayonrapporteur=3cm {\tiny\rapporteur[30]}\hfill\null
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 718
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Opération sur les arguments

Messagepar Mikelenain » Vendredi 13 Janvier 2012, 22:29

merci beaucoup, ça fonctionne bien.

maintenant, je m'attelle à la tâche de décrypter tout cela ;)
"L'ignorance n'est pas ne pas connaître, c'est ne pas vouloir connaître."

Une ch'tio peu d'pub :Ina-Ich

Ubuntu | LibreOffice | GnuPlot | PidGin | irssi | Mozilla | VLC ...
Mikelenain
Exa-utilisateur
 
Messages: 2652
Inscription: Dimanche 28 Février 2010, 11:54
Localisation: Région Lyonnaise
Statut actuel: Actif et salarié | Enseignant

Re: Opération sur les arguments

Messagepar rebouxo » Samedi 14 Janvier 2012, 21:29

Une autre possibilité est d'utiliser \pst-eucl. Il y a eu un concours à une époque pour tracer des rapporteurs.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6920
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Grapeshot [Crawler] et 24 invités