Automatiser points d'une grille pstricks

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.

Automatiser points d'une grille pstricks

Messagepar marco56 » Mardi 02 Octobre 2018, 11:43

Bonjour,
Pour mes circuits électriques, j'aimerais automatiser la mise en place de mes points.
Voici ce que j'ai fait :

Code: Tout sélectionner
\documentclass[10pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage[francais]{babel}
\usepackage [T1]{fontenc}
\usepackage{pst-all}
\usepackage{pstricks-add}
\usepackage{pst-circ}
\usepackage{amsmath}
\usepackage{amssymb}

\begin{document}

\newcommand{\newgrille}[1]{
\multido{\ia=0+1}{#1}
{
\pnode(\ia,0){A\ia}
\node(A\ia)
\uput[-90](A\ia){$A_{\ia}$}
\pnode(\ia,1){B\ia}
\node(B\ia)
\uput[-90](B\ia){$B_{\ia}$}
}
}

\begin{pspicture}(-0.5,-0.5)(10,6)
\newgrille{6}
\end{pspicture}

\end{document}


J'aimerais automatiser également en vertical en nommant mes points B0, B, C0, C1, ...
Y a-t-il une solution simple ?
Du coup, ma grille aurait 2 arguments n et p par exemple avec p qui ferait tourner le compteur \ib en vertical.
Du coup, j'imagine qu'il faudrait une sorte de conversion ascii du compteur ?
marco56
Giga-utilisateur
 
Messages: 745
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: automatiser points d'une grille pstricks

Messagepar un bon petit » Mardi 02 Octobre 2018, 12:11

Code: Tout sélectionner
\documentclass{article}
\usepackage{pst-all}
\makeatletter
\newcommand*\newgrille[2]{%
   \multido{\iy=0+1}{#2}
      {%
      \multido{\ix=0+1}{#1}
         {%
         \cnode(\ix,\iy){1pt}{\ix,\iy}%
         \uput[-90](\ix,\iy){$\@Alph{\numexpr\iy+1\relax}_{\ix}$}%
         }%
      }%
}
\makeatother
\begin{document}
\begin{pspicture}(-0.5,-0.5)(10,6)
   \newgrille{6}{3}
\end{pspicture}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 691
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: automatiser points d'une grille pstricks

Messagepar marco56 » Mardi 02 Octobre 2018, 12:43

Quelle efficacité un bon petit !
Malheureusement, cela ne me convient pas tout-à-fait.
En effet, je souhaite ensuite exploiter ces points avec pst-circ, par exemple, en faisant :
Code: Tout sélectionner
\begin{document}
\begin{pspicture}(-0.5,-0.5)(10,6)
\newgrille{6}{3}
\wire(A1)(A2)
\end{pspicture}
\end{document}

D'où mes "\pnode"
J'ai tenté de bidouiller ton code mais sans succès pour l'instant.

[edit] Je crois que c'est en bonne voie, merci !!!
marco56
Giga-utilisateur
 
Messages: 745
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: automatiser points d'une grille pstricks

Messagepar un bon petit » Mardi 02 Octobre 2018, 12:50

Code: Tout sélectionner
\documentclass{article}
\usepackage{pst-all}
\makeatletter
\newcommand*\newgrille[2]{%
   \multido{\iy=0+1}{#2}
      {%
      \edef\current@leter{\@Alph{\numexpr\iy+1\relax}}%
      \multido{\ix=0+1}{#1}
         {%
         \cnode*(\ix,\iy){2pt}{\current@leter\ix}%
         \uput[-90](\ix,\iy){$\current@leter_\ix$}%
         }%
      }%
}
\makeatother
\begin{document}
\begin{pspicture}(-0.5,-0.5)(10,6)
   \newgrille{6}{3}
   \ncline{A1}{C4}
\end{pspicture}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 691
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: automatiser points d'une grille pstricks

Messagepar marco56 » Mardi 02 Octobre 2018, 12:54

Merci encore :
J'étais arrivé à cela qui fonctionne :
Code: Tout sélectionner
\documentclass[10pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage[francais]{babel}
\usepackage [T1]{fontenc}
\usepackage{pst-all}
\usepackage{pstricks-add}
\usepackage{pst-circ}
\usepackage{amsmath}
\usepackage{amssymb}

\makeatletter
\newcommand{\newgrille}[2]{
\multido{\iy=0+1}{#2}
{
\multido{\ix=0+1}{#1}
{
\pnode(\ix,\iy){\@Alph{\numexpr\iy+1\relax}\ix}
%\node(\@Alph{\numexpr\iy+1\relax}\ix)
%\uput[-90](\@Alph{\numexpr\iy+1\relax}\ix){$\@Alph{\numexpr\iy+1\relax}_{\ix}$}
}
}
}
\makeatother

\begin{document}


\begin{pspicture}(-0.5,-0.5)(10,6)
\newgrille{6}{3}
\wire(A1)(A2)
\resistor(A4)(C4){$R$}
\end{pspicture}

\end{document}

Je ne sais pas si c'est correct (au final, j'enlève les points ainsi que leur nom...)
marco56
Giga-utilisateur
 
Messages: 745
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: Automatiser points d'une grille pstricks

Messagepar marco56 » Mardi 02 Octobre 2018, 13:11

Les deux fonctionnent parfaitement.
marco56
Giga-utilisateur
 
Messages: 745
Inscription: Jeudi 25 Novembre 2010, 22:10
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: Google [Bot] et 16 invités