\input $FORMAT/myplain.tex \input macros-doc.tex \def \epspath {% labo/}% $HOME/htdocs/bbgraf/guide/} \def \datapath {% labo/}% $HOME/htdocs/bbgraf/guide/} \def \listingpath {% labo/}% $HOME/htdocs/bbgraf/guide/} \long \def \catalogue#1#2{% $$ \vcenter {\hsize .45 \hsize $$\boxepsillustrate {#1}$$ } \hfill \vcenter {\hsize .55 \hsize #2} $$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% sortie de la couverture %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \titre {Extension labo 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% debut du manuel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \footline = {\hss \folio \hss } \pageno 1 L'extension 'labo' propose un ensemble d'objets provenant d'un laboratoire de chimie. Tous placé dans l'environnement 'picture' du format jps, ils se positionnent et s'assemblent aux moyens des commandes de cet environnement \footnote {$^{(*)}$} {% documentation~: voir |http://melusine.eu.org/syracuse/texpng/jpv/guide_jps/doc-picture.xml|}. Ce document \footnote {$^{(**)}$} {% inachevé et toujours en cours d'élaboration, à l'image de l'extension 'labo'} récapitule les différents objets, leurs points spéciaux éventuels, ainsi que les différentes options de dessins. {\bf Avertissement~:} \` A la suite des travaux en cours sur les n\oe uds et leurs connexions, un important remaniement de l'environnement picture est prévu pour les semaines à venir, afin, notamment, de faciliter le codage de montages complexes, à l'image de ce qui se fait pour l'extension 'logic' \footnote {$^{(***)}$} {% |http://melusine.eu.org/syracuse/texpng/jpv/guide_jps/doc-logic.xml|}. \paragraphe {Utilisation} Pour pouvoir utiliser l'extension, insérer la commande |uselabo| dans le source jps. \paragraphe {La verrerie} \catalogue {tube_essai.ps} {Nom~: |TubeEssais| \par Points spéciaux~: \par \item {--} |trou|~: point de connexion pour bouchon 1~trou \item {--} |trou1|~: point de connexion gauche pour bouchon 2~trous \item {--} |trou2|~: point de connexion droit pour bouchon 2~trous \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide, bouchon, tube } \catalogue {ballon.ps} {Nom~: |Ballon| \par Points spéciaux~: \par \item {--} |trou|~: point de connexion pour bouchon 1~trou \item {--} |trou1|~: point de connexion gauche pour bouchon 2~trous \item {--} |trou2|~: point de connexion droit pour bouchon 2~trous \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide, bouchon, tube } \catalogue {erlen.ps} {Nom~: |Erlen| \par Points spéciaux~: \par \item {--} |trou|~: point de connexion pour bouchon 1~trou \item {--} |trou1|~: point de connexion gauche pour bouchon 2~trous \item {--} |trou2|~: point de connexion droit pour bouchon 2~trous \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide, bouchon, tube } \catalogue {flacon.ps} {Nom~: |Flacon| \par Points spéciaux~: \par \item {--} |trou|~: point de connexion pour bouchon 1~trou \item {--} |trou1|~: point de connexion gauche pour bouchon 2~trous \item {--} |trou2|~: point de connexion droit pour bouchon 2~trous \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide, bouchon, tube } \catalogue {eprouvette.ps} {Nom~: |Eprouvette| \par Points spéciaux~: \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide } \catalogue {fiole_jauge.ps} {Nom~: |FioleJauge| \par Points spéciaux~: \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide } \catalogue {becher.ps} {Nom~: |Becher| \par Points spéciaux~: \item {--} |bb|~: comme son nom l'indique \par Options~: liquide, gaz, solide } \catalogue {pipette.ps} {Nom~: |Pipette| \par Points spéciaux~: -- \par Options~: liquide, gaz, solide } \catalogue {entonnoir.ps} {Nom~: |Entonnoir| \par Points spéciaux~: -- \par Options~: liquide, gaz, solide } \catalogue {burette.ps} {Nom~: |Burette| \par Points spéciaux~: -- \par Options~: liquide, gaz, solide } \catalogue {cristallisoir.ps} {Nom~: |Cristallisoir| \par Points spéciaux~: -- \par Options~: liquide, gaz, solide } \catalogue {tube_renverse.ps} {Nom~: |TubeRenverse| \par Points spéciaux~: -- \par Options~: liquide, gaz, solide } \catalogue {repose_tube.ps} {Nom~: |ReposeTube| \par Points spéciaux~: -- \par Options~: liquide, gaz, solide } \paragraphe {Les options de contenus} \sparagraphe {Liquides} Un objet donné peut contenir différents liquides. Deux tableaux pour paramétrer~: |niveauLiquides| qui contient le niveau en proportion de chacun des liquides, et |aspectLiquides| qui contient la couleur pour chacun des liquides. Le nombre d'éléments du deuxième tableau doit être au moins égal au nombre d'éléments du premier tableau. Les objets sont placés avec les commandes de l'environnement 'picture', on peut donc leur faire subir un a\|gran\-dis\-se\-ment$/$ré\-duc\-tion ou une rotation. Quelque soit l'inclinaison, le niveau du liquide est garanti horizontal, mais en revanche, les proportions sur les niveaux n'auront pas forcément l'air respectées à l'affichage~: on utilise la hauteur théorique d'un récipient rectangulaire (la Bounding Box). Si l'inclinaison est supérieure ou égale à $90$ degrés, alors le récipient sera vide\dots Pour certains objets, comme le Flacon, on peut obtenir un objet incliné rempli à $100\% $ et qui n'a pas l'air plein\dots La solution est de le remplir à plus de $100\% $. Aucun test n'est fait, et on peut même donner des proportions négatives. Exemple~: \exemple {liquides} \sparagraphe {Solides} Un objet donné peut contenir différents solides. Un tableau pour paramétrer~: |Solides| qui contient les différentes procédures à effectuer. Pour le moment, les différents solides utilisables sont |ClouFer| (un seul) |TournureCuivre| (une seule), |GrenailleZinc| (une seule) |Filaments| (nombre à passer en paramètre), |Clous| (nombre à passer en paramètre), |Zinc| (nombre à passer en paramètre) et |Cuivre| (nombre à passer en paramètre). Pour chacun de ces solides (sauf le Zinc et la grenaille de zinc), on peut passer une couleur en argument. Exemple avec le tube à essai~: \exemple {solides} \sparagraphe {Gazs} Pour le moment un seul type de gazs~: les bulles de Champagne. Celles-ci n'apparaissent que dans le liquide, et on suppose pour le moment que le plus haut niveau du liquide est donné par le dernier élément du tableau |niveauLiquides| Exemple~: \exemple {gazs} \paragraphe {Les tubes et bouchons} Pour le moment, 4 objets (TubeEssais, Ballon, Erlen et Flacon) peuvent avoir un bouchon et/ou un ou deux tubes. La commande withbouchon sélectionne l'affichage du bouchon, alors que la commande withoutbouchon la déselectionne. Le nombre de trous dans le bouchon dépend du nombre de tubes demandés (0, 1 ou 2). Le tableau Tubes indique le nombre et le type de tube à positionner sur l'objet. Par défaut, il suffit de donner le nom du tube entre parenthèses. éventuellement, on peut appliquer une transformation à l'un des tubes à afficher. Dans ce cas, on donne entre accolades la séquence à passer pour l'affichage, en suivant la syntaxe habituelle de l'environnement 'picture'. \catalogue {tube_recourbe.ps} {Nom~: |TubeRecourbe| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {tube_recourbe_court.ps} {Nom~: |TubeRecourbeCourt| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {tube_coude.ps} {Nom~: |TubeCoude| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {tube_coudeU.ps} {Nom~: |TubeCoudeU| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {tube_coudeUB.ps} {Nom~: |TubeCoudeUB| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {refrigerant.ps} {Nom~: |Refrigerant| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube \item {--} |Entree|~: entrée latérale \item {--} |Sortie|~: sortie latérale \par Switch~: \item {--} |fleches\_Refrigerant| initialisé à $true$ par défaut } \catalogue {refrigerant_liebig.ps} {Nom~: |RefrigerantLiebig| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube \item {--} |Entree|~: entrée latérale \item {--} |Sortie|~: sortie latérale \par Switch~: \item {--} |fleches\_Refrigerant| initialisé à $true$ par défaut } \catalogue {refrigerant_boules.ps} {Nom~: |RefrigerantBoules| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube \item {--} |Entree|~: entrée latérale \item {--} |Sortie|~: sortie latérale \item {--} |FlecheEntree|~: extrémité de la flèche d'entrée latérale \item {--} |FlecheSortie|~: extrémité de la flèche de sortie latérale \par Switch~: \item {--} |fleches\_Refrigerant| initialisé à $true$ par défaut } \catalogue {tube_droit.ps} {Nom~: |TubeDroit| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {tubeU.ps} {Nom~: |TubeU| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube \item {--} |uc|~: comme son nom l'indique \item {--} |ConnectIn|~: point de connection bouchon pour l'entrée du tube \item {--} |ConnectOut|~: point de connection bouchon pour la sortie du tube } \catalogue {tube_coin.ps} {Nom~: |TubeCoin| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {entonnoir_robinet.ps} {Nom~: |EntonnoirRobinet| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {entonnoir_robinet_court.ps} {Nom~: |EntonnoirRobinetCourt| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube } \catalogue {colonne_vigreux.ps} {Nom~: |ColonneVigreux| \par Points spéciaux~: \item {--} |In|~: entrée du tube \item {--} |Out|~: sortie du tube \item {--} |SortieVigreux|~: sortie latérale du tube \par Switch~: \item {--} |bouchon\_Vigreux| initialisé à $false$ par défaut. Dessin d'un bouchon à un trou au point $Out$ sinon. \par Nota~: \item {--} Le tube de sortie fait un angle de $- 25, 641$ degrés par rapport à l'horizontale. Pour y raccorder un tube vertical, il faut incliner ce dernier de $90 - 25, 641 = 64, 359$ degrés. } \paragraphe {Options de bouchage et de tubage} Pour le moment, 4 objets (TubeEssais, Ballon, Erlen et Flacon) peuvent avoir un bouchon et$/$ou un ou deux tubes. La commande |withbouchon| sélectionne l'affichage du bouchon, alors que la commande |withoutbouchon| la désélectionne. Le nombre de trous dans le bouchon dépend du nombre de tubes demandés ($0$, $1$ ou $2$). Le tableau |Tubes| indique le nombre et le type de tube à positionner sur l'objet. Par défaut, il suffit de donner le nom du tube entre parenthèses. éventuellement, on peut appliquer une transformation à l'un des tubes à afficher. Dans ce cas, on donne entre accolades la séquence à passer pour l'affichage, en suivant la syntaxe habituelle de l'environnement 'picture'. \` A noter que l'on peut utiliser l'objet vide |relax| comme tube, ce qui permettra d'obtenir un bouchon avec un trou supplémentaire. Exemple~: \exemple {bouchon_tubes} \paragraphe {Accessoires} \catalogue {manometre.ps} {Nom~: |Manometre| \par Syntaxe~: \par \item {} $\alpha$ |Manometre| \par où $\alpha $ est l'angle entre la graduation $0$ et l'aiguille \par Points spéciaux~: \item {--} |Connect|~: point de connexion du manomètre } \catalogue {robinet.ps} {Nom~: |RobinetTube| \par Points spéciaux~: -- } \catalogue {thermometre.ps} {Nom~: |Thermometre| \par Points spéciaux~: -- } \catalogue {thermometre_long.ps} {Nom~: |ThermometreLong| \par Points spéciaux~: -- } \paragraphe {Autre matériel} \catalogue {conductimetre.ps} {Nom~: |Conductimetre| \par Points spéciaux~: \item {--} |Cellule|~: centre de la cellule \item {--} |bb|~: comme son nom l'indique } \catalogue {conductimetre_digital.ps} {Nom~: |ConductimetreDigital| \par Points spéciaux~: \item {--} |Cellule|~: centre de la cellule \item {--} |bb|~: comme son nom l'indique } \catalogue {pHmetre.ps} {Nom~: |pHmetre| \par Points spéciaux~: %\item {--} |Cellule|~: centre de la cellule } \catalogue {agitateur_magnetique.ps} {Nom~: |AgitateurMagnetique| \par Points spéciaux~: %\item {--} |Cellule|~: centre de la cellule } \catalogue {chauffe_ballon.ps} {Nom~: |ChauffeBallon| \par Points spéciaux~: %\item {--} |Cellule|~: centre de la cellule } \paragraphe {Exemples d'utilisations} \sparagraphe {Deux exemples simple} Dans les deux exemples ci-dessous, on utilise les coordonnées du repère pour placer les objets. \exemple {styrene} \exemple {acido-basique} \sparagraphe {Réutilisation de points clés} Ici, on récupère les points clés |FlecheEntree| et |FlecheSortie| du dessin afin de pouvoir afficher une légende. \exemple {chauffage_reflux} \sparagraphe {Un assemblage plus complexe} Ci-dessous, on positionne tout d'abord ballon et chauffe-ballon. Le réfrigérant est positionné à partir du point clé |Out| lié au ballon, et l'éprouvette est positionnée par rapport au point clé |In| du réfrigérant. \exemple {distillation} \bye