\input $FORMAT/myplain.tex \input macros-doc.tex %% \def \epspath {% %% color/} %% \def \datapath {% %% color/} %% \def \listingpath {% %% color/} \long \def \catalogue#1#2{% $$ \vcenter {\hsize .45 \hsize $$\boxepsillustrate {#1}$$ } \hfill \vcenter {\hsize .55 \hsize #2} $$ } \titre {Extension logic pour le format jps} %% \centerline {{\sl par Jean-Paul Vignault}} %% \centerline {{\sl Groupe des Utilisateurs de %% Linux Poitevins (GULP)}} %% \centerline {(|jpv@melusine.eu.org|)} \centerline {\today } \vskip \titreskip \footline = {\hss \folio \hss } \pageno 1 L'extension logic' propose $8$ nouveaux symboles placé dans l'environnement picture. Le codage de ces symboles est une transcription du codage MetaFont de la {\sl loggates font\/} de Nico Verwer\footnote {$^{(1)}$} {% CTAN : |macros/latex209/contrib/loggates/|}. Les paramètres et syntaxes proposées sont directement inspirées de l'extension pstricks {\sl pst-circ\/}\footnote {$^{(2)}$} {% |http://www.ctan.org/tex-archive/graphics/pstricks/contrib/pst-circ/logic.pdf|}. \paragraphe {Utilisation} Pour pouvoir utiliser l'extension, insérer la commande |uselogic| dans le source jps. \paragraphe {Les nouveaux symboles} Il y a $8$~symboles~: |AND|, |NAND|, |OR|, |NOR|, |XOR|, |NXOR|, |INV| et |BUF|, tous placés dans l'environnement picture du format jps, ils se positionnent et s'assemblent aux moyens des commandes de cet environnement\footnote {$^{(3)}$} {% |http://melusine.eu.org/syracuse/texpng/jpv/guide_jps/doc-picture.xml|}. $$ \boxepsillustrate {logic_set.ps} $$ \paragraphe {Paramètres} \syntaxe \Longref {} {logicUnit} {\' Echelle pour le dessin du symbole} {$0,5$} \Longref {} {logicNInput} {Nombre d'entrées de la cellule} {$2$} \Longref {} {logicWireLength} {Longueur des pattes de raccordement (unité jps)} {$0,5$} \endsyntaxe \` A chaque affichage d'une nouvelle cellule, le paramètre {\sl logicNInput\/} retrouve sa valeur par défaut. \paragraphe {Points spéciaux} Outre les $16$~points habituels fournis par l'environnement picture, chaque cellule comprend au moins $3$~points spéciaux supplémentaires~: |out| qui correspond au point de raccordement à la sortie ainsi qu'un point associé pour chaque entrée~: |in0| pour la première, |in1| pour la deuxième, etc\dots Seuls les objets |INV| et |BUF| font exception~: ils n'ont qu'une entrée et donc un seul point spécial associé~: le point |in|. \paragraphe {Exemples simples} \sparagraphe {Avec l'environnement picture} En utilisant seulement l'environnement picture, il est possible d'appliquer aux objets translations, changements d'échelles, rotations, et de récupérer les coordonnées des points spéciaux attachés à l'objet. \exemple {parametres} \sparagraphe {Avec les n\oe uds} Pour des montages plus complexes, on peut utiliser les facilités offertes par les n\oe uds~: lorsque l'on déclare un n\oe ud et que le positionne le paramètre $loadnodedict$ à |true|, l'ensemble des points spéciaux attachés au n\oe ud sont tranférés dans le dictionnaire courant (les noms des points sont alors suffixés par le nom du n\oe ud). Ainsi, la commande |Ain0| désignera le point spécial |in0| du n\oe ud $A$.~: \exemple {logic_noeud} \paragraphe {Autres exemples} \exemple {circuit_02} \exemple {circuit_04} \exemple {circuit_05} \bye