#LyX 2.2 created this file. For more info see http://www.lyx.org/ \lyxformat 504 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/fr/ \textclass scrartcl \begin_preamble \usepackage[all]{xy} % define new commands used in sec. 5.1 \newcommand{\xyR}[1]{ \xydef@\xymatrixrowsep@{#1}} \newcommand{\xyC}[1]{ \xydef@\xymatrixcolsep@{#1}} \newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} % a pdf-bookmark for the TOC is added \let\myTOC\tableofcontents \renewcommand\tableofcontents{% \pdfbookmark[1]{\contentsname}{} \myTOC } % redefine the \LyX macro for PDF bookmarks \def\LyX{\texorpdfstring{% L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} {LyX}} \end_preamble \options BCOR7.5mm \use_default_options false \maintain_unincluded_children false \language french \language_package default \inputencoding auto \fontencoding global \font_roman "lmodern" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize 12 \spacing single \use_hyperref true \pdf_title "Utilisation de XY-pic dans LyX" \pdf_author "H. Peter Gumm" \pdf_subject "manual de XY-pic" \pdf_keywords "LyX, documentation" \pdf_bookmarks true \pdf_bookmarksnumbered true \pdf_bookmarksopen true \pdf_bookmarksopenlevel 2 \pdf_breaklinks false \pdf_pdfborder false \pdf_colorlinks true \pdf_backref false \pdf_pdfusetitle false \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false, pdfpagelabels" \papersize a4paper \use_geometry false \use_package amsmath 2 \use_package amssymb 2 \use_package cancel 0 \use_package esint 0 \use_package mathdots 1 \use_package mathtools 0 \use_package mhchem 1 \use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 0 \index Index \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \quotes_language french \papercolumns 1 \papersides 2 \paperpagestyle default \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Title Utilisation de \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic dans \SpecialCharNoPassThru LyX \end_layout \begin_layout Author H. Peter Gumm \begin_inset Foot status collapsed \begin_layout Plain Layout Traduction française Jean-Pierre Chrétien, \family typewriter \family default , novembre 2009, mise à jour mars 2014 \end_layout \end_inset \end_layout \begin_layout Abstract Avec les versions récentes de \SpecialCharNoPassThru LyX et grâce à la possibilité d'afficher un aperçu sur le vif offerte par la distribution \SpecialCharNoPassThru LaTeX , le paquetage de tracé de diagrammes \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -pic peut être utilisé confortablement dans \SpecialCharNoPassThru LyX : les diagrammes peuvent être affichés et modifiés dans le fenêtre principale de \SpecialCharNoPassThru LyX . Nous décrivons ici comment utiliser la commande \family typewriter \backslash xymatrix \family default de \family typewriter xypic \family default depuis \SpecialCharNoPassThru LyX pour tracer, modifier et visionner des diagrammes utilisés typiqueme nt dans la théorie des catégories, l'algèbre et les disciplines voisines. \end_layout \begin_layout Abstract \begin_inset CommandInset toc LatexCommand tableofcontents \end_inset \end_layout \begin_layout Section Introduction \end_layout \begin_layout Standard Le paquetage \family typewriter xypic \family default est utilisé depuis longtemps comme un outil approprié pour construire facilemen t des graphiques et des diagrammes en \SpecialCharNoPassThru LaTeX . Malheureusement, son utilisation depuis \SpecialCharNoPassThru LyX était limitée par les infâmes boîtes de code \SpecialCharNoPassThru TeX , ce qui faisait que la fenêtre \SpecialCharNoPassThru LyX ne pouvait afficher que les sources \SpecialCharNoPassThru LaTeX et non pas le diagramme résultant. Le mode \SpecialCharNoPassThru LaTeX \begin_inset Quotes fld \end_inset Aperçu sur le vif \begin_inset Quotes frd \end_inset ( \emph on preview-style \emph default ), inclus dans le projet AUC\SpecialCharNoPassThru TeX \begin_inset CommandInset citation LatexCommand cite key "AUCTeX" \end_inset , permet enfin la modification et l'affichage des diagrammes \family typewriter xypic \family default , qui peuvent être construits, modifiés et visionnés depuis \SpecialCharNoPassThru LyX . \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard \align center \begin_inset Graphics filename xyfigure.png lyxscale 60 width 75col% \end_inset \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard Dans ce manuel, nous décrivons comment utiliser \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic depuis la fenêtre \SpecialCharNoPassThru LyX , et comment créer et modifier des diagrammes. Nous avons testé ce qui suit avec \SpecialCharNoPassThru LyX (versions 1.3.7 à 1.6), exécuté sur Windows \begin_inset space \thinspace{} \end_inset XP ou Windows Vista. \end_layout \begin_layout Standard Deux façons de procéder sont offertes: pour commencer, et pour quelques tests préliminaires, il peut être plus facile de saisir d'abord le code \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic dans la fenêtre \SpecialCharNoPassThru LyX , de le sélectionner en entier et de le convertir dans sa représentation graphique en pressant \family sans Ctrl-m \family default ou \family sans Ctrl-M \family default . Si vous devez utiliser \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic plus fréquemment, ou si vous désirez modifier votre diagramme initial, vous préférerez assembler et modifier vos figures à l'aide de l'éditeur mathématique de \SpecialCharNoPassThru LyX . \end_layout \begin_layout Standard Lorsque le curseur se trouve superposé à un diagramme, celui-ci est affiché comme une tableau de nœuds et de flèches. Ceux-ci peuvent être modifiés interactivement. Quand le curseur quitte la zone d'édition, le diagramme réapparaît. \end_layout \begin_layout Standard Dans les deux premiers chapitres de la documentation, nous expliquons comment utiliser \SpecialCharNoPassThru LyX dans le premier mode mentionné ci-dessus et nous introduisons toutes le fonctionnalités de \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic qui peuvent être utiles pour tracer des diagrammes commutatifs, des graphes ou de automates. Le chapitre \begin_inset space ~ \end_inset \begin_inset CommandInset ref LatexCommand ref reference "sec:math-editor" \end_inset explique comment utiliser les commandes \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic dans une \begin_inset Quotes fld \end_inset zone d'édition mathématique \begin_inset Quotes frd \end_inset . \end_layout \begin_layout Standard Ce n'est pas notre intention d'écrire une nouvelle introduction à \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic, notre motivation est plutôt de montrer comment les commandes les plus importantes fonctionnent dans \SpecialCharNoPassThru LyX , puisque les combinaisons de saisies décrites dans le manuel \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \begin_inset space ~ \end_inset \begin_inset CommandInset citation LatexCommand cite key "xypic manual" \end_inset ne sont pas toutes interprétées dans \SpecialCharNoPassThru LyX . \end_layout \begin_layout Section Préparation \end_layout \begin_layout Standard Ce qui suit nécessite que les paquetages \SpecialCharNoPassThru LaTeX \family typewriter xypic \family default et \family typewriter preview \family default fassent partie de la distribution \SpecialCharNoPassThru LaTeX . Ils sont disponibles sur CTAN, voir à \begin_inset space ~ \end_inset \begin_inset CommandInset citation LatexCommand cite key "instant-preview" \end_inset , resp. à \begin_inset space ~ \end_inset \begin_inset CommandInset citation LatexCommand cite key "xypic" \end_inset . Si vous devez les installer, il est nécessaire d'exécuter \family sans Outils\SpecialChar menuseparator Reconfigurer \family default dans le menu principal de \SpecialCharNoPassThru LyX . Les étapes pour créer un premier diagramme dans \SpecialCharNoPassThru LyX sont alors les suivantes: \end_layout \begin_layout Enumerate Activation et aperçu de test \begin_inset Separator parbreak \end_inset \end_layout \begin_deeper \begin_layout Enumerate Ouvrir \SpecialCharNoPassThru LyX , choisir \family sans Outils\SpecialChar menuseparator Préférences\SpecialChar menuseparator Apparence\SpecialChar menuseparator Affichage écran \family default et positionner \emph on Aperçu sur le vif \emph default sur \emph on Activé \emph default ; \end_layout \begin_layout Enumerate Dans \family sans Document\SpecialChar menuseparator Paramètres...\SpecialChar menuseparator Options mode math \family default , décocher \emph on Utiliser automatiquement le paquetage math AMS \emph default et cocher \emph on Utiliser le paquetage math AMS; \end_layout \begin_layout Enumerate Tester si l'aperçu sur le vif fonctionne en ouvrant un document \SpecialCharNoPassThru LyX et en saisissant n'importe quelle formule mathématique, par exemple \begin_inset Formula $a+b=c$ \end_inset ; \end_layout \begin_layout Enumerate Déplacer le curseur en-dehors de la formule, et constatez qu'elle prend l'aspect du résultat imprimable DVI, PostScript ou PDF. \end_layout \end_deeper \begin_layout Enumerate Activer et tester \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \family typewriter : \family default \begin_inset Separator parbreak \end_inset \end_layout \begin_deeper \begin_layout Enumerate Dans votre document, saisissez le texte \family typewriter \begin_inset Newline newline \end_inset \backslash xymatrix{A \backslash ar[r] & B} \family default ; \end_layout \begin_layout Enumerate Sélectionner tout ce texte et choisir \family sans Insertion\SpecialChar menuseparator Math\SpecialChar menuseparator Formule hors ligne \family default , ou pressez le raccourci clavier correspondant \family sans Ctrl-M; \end_layout \begin_layout Enumerate Déplacer le curseur en-dehors de la zone d'édition mathématique et attendre une fraction de seconde pour voir apparaître une flèche: \begin_inset Formula $\xymatrix{A\ar[r] & B} $ \end_inset . \end_layout \end_deeper \begin_layout Section Diagrammes commutatifs \end_layout \begin_layout Standard Le diagramme ci-après, qui est extrait de la documentation \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \begin_inset CommandInset citation LatexCommand cite key "xypic manual" \end_inset écrite par son créateur Kristoffer H. \noun on Rose \noun default , va nous fournir un exemple illustrant de nombreuses fonctionnalités de ce paquetage. Son code source est le suivant: \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar@/_{1pc}/[ddr]_ \backslash psi \backslash ar@/^{1pc}/[drr]^ \backslash varphi \begin_inset Newline newline \end_inset \backslash ar@{.>}[dr]|-{(x,y)} \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d]^q \backslash ar[r]_p & X \backslash ar[d]_f \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r]^g & Z } \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard De nouveau, pour convertir ce code sous forme graphique, le sélectionner en entier depuis \family typewriter \backslash xymatrix{ \family default \SpecialChar ldots jusqu'à l'accolade fermante \SpecialChar ldots \family typewriter } \family default et le convertir en mode mathématique hors ligne comme expliqué plus haut. Peu après que que le curseur quitte la zone d'édition mathématique, vous devriez voir apparaître le diagramme dans toute sa beauté graphique ci-dessous: \end_layout \begin_layout Standard \begin_inset Formula $\xymatrix{U\ar@/_{1pc}/[ddr]_{\psi}\ar@/{}^{1pc}/[drr]^{\varphi}\ar@{.>}[dr]|-{(x,y)}\\ & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\ & Y\ar[r]^{g} & Z } $ \end_inset \end_layout \begin_layout Subsection Le format matriciel des diagrammes \end_layout \begin_layout Standard \family typewriter xymatrix \family default utilise une matrice pour définir la disposition des sommets d'un diagramme. Pour l'exemple ci-dessus, nous avons besoin d'une matrice 3×3, 5 \begin_inset space ~ \end_inset positions étant utilisées pour les sommets \begin_inset Formula $U$ \end_inset , \begin_inset Formula $X\times_{Z}Y$ \end_inset , \begin_inset Formula $X$ \end_inset , \begin_inset Formula $Y$ \end_inset , \begin_inset Formula $Z$ \end_inset , les autres positions restant vides. Dans ce cas, la matrice suivante définit le format: \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y & X \backslash \backslash \begin_inset Newline newline \end_inset & Y & Z } \end_layout \begin_layout Standard La structure semble familière aux connaisseurs de \SpecialCharNoPassThru LaTeX : nous voyons trois lignes, les deux premières étant terminées par le marqueur de fin de ligne \family typewriter \backslash \backslash \family default . Chaque ligne comporte des cellules, séparées par une esperluette \family typewriter & \family default . \end_layout \begin_layout Subsection Flèches \end_layout \begin_layout Standard Une fois les sommets saisis, nous ajoutons des flèches entre eux. La commande \family typewriter xypic \family default de base pour produire une flèche est \family typewriter \backslash ar \family default , elle est saisie dans la cellule de la matrice d'où part la flèche. La direction de la flèche est spécifiée par les commandes de direction \family typewriter u \family default (haut), \family typewriter d \family default (bas), \family typewriter l \family default (gauche), ou \family typewriter r \family default (droite). Celles-ci peuvent être combinées sous forme d'un chemin et encloses entre crochets. Par exemple, les flèches partant du sommet \begin_inset Formula $U$ \end_inset en haut à gauche allant vers le bas et à droite vers les sommets \begin_inset Formula $X\times_{Z}Y$ \end_inset , \begin_inset Formula $Y$ \end_inset , et \begin_inset Formula $X$ \end_inset sont définies respectivement par \family typewriter \backslash ar[dr] \family default , \family typewriter \backslash ar[ddr] \family default et \family typewriter \backslash ar[drr] \family default . Le diagramme ci-dessus enrichi par les flèches devient donc: \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar[ddr] \backslash ar[drr] \backslash ar[dr] \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d] \backslash ar[r]& X \backslash ar[d] \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r] & Z } \end_layout \begin_layout LyX-Code \begin_inset Formula $\xymatrix{U\ar[ddr]\ar[drr]\ar[dr]\\ & X\times_{Z}Y\ar[d]\ar[r] & X\ar[d]\\ & Y\ar[r] & Z } $ \end_inset \end_layout \begin_layout LyX-Code \end_layout \begin_layout Subsection Étiquettes \end_layout \begin_layout Standard Les étiquettes sont associées aux flèches en les créant en tant qu'exposants et indices des commandes \family typewriter \backslash ar \family default . Ainsi, \family typewriter \backslash ar[drr]^ \backslash varphi \family default définit une flèche allant vers le bas d'une cellule, vers la droite de deux cellules et étiquetée au-dessus par \begin_inset Formula $\varphi$ \end_inset . Pour étiqueter au-dessous, insérer un indice inférieur comme dans \family typewriter \backslash ar[ddr]_ \backslash psi \family default . Cette explication n'est cependant correcte que pour les flèches pointant vers la droite. Plus précisément, imaginez que vous suivez la flèche dans la direction pointée. Alors un indice supérieur étiquette à gauche et un indice inférieur étiquette à droite. De ce fait, une flèche pointant de droite à gauche, comme \family typewriter \backslash ar[l]^ \backslash alpha_ \backslash beta \family default aura l'étiquette \begin_inset Formula $\alpha$ \end_inset au-dessous et l'étiquette \begin_inset Formula $\beta$ \end_inset au-dessus de la flèche, c'est-à-dire \begin_inset space \space{} \end_inset \begin_inset Formula $\xymatrix{\ & \ \ar[l]_{\beta}^{\alpha}.} $ \end_inset En utilisant le caractère | au lieu de ^ ou _ , il est même possible de placer l'étiquette sur la flèche, en masquant une partie de son corps. \end_layout \begin_layout Standard Normalement, une étiquette est placée à mi-chemin entre l'objet débutant la flèche et l'objet la terminant. Dans le premier diagramme, la flèche centrale partant de \begin_inset Formula $U$ \end_inset porte l'étiquette \begin_inset Formula $(x,y)$ \end_inset au milieu du corps de la flèche, plutôt qu'à mi-chemin entre les objets qu'elle connecte. Ceci est obtenu en préfixant l'étiquette par un tiret, ici: \family typewriter \backslash ar[dr]|-{(x,y)} \family default . \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar[ddr]_ \backslash psi \backslash ar[drr]^ \backslash varphi \backslash ar[dr]|-{(x,y)} \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d]^q \backslash ar[r]_p& X \backslash ar[d]_f \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r]^g & Z } \end_layout \begin_layout LyX-Code \begin_inset Formula $\xymatrix{U\ar[ddr]_{\psi}\ar[drr]^{\varphi}\ar[dr]|-{(x,y)}\\ & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\ & Y\ar[r]^{g} & Z } $ \end_inset \end_layout \begin_layout Standard Avec \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic, il est possible de décaler les étiquettes vers l'origine ou l'extrémité d'une flèche en préfixant l'étiquette avec un coefficient, comme par exemple \family typewriter (.3) \family default . Avec \SpecialCharNoPassThru LyX , ceci ne fonctionne qu'avec les étiquettes placées au-dessus de la flèche, par exemple \family typewriter \backslash ar[r]|(0.3){ \backslash phi} \family default . \end_layout \begin_layout Standard Pour les étiquettes placées sur la gauche ou la droite de la flèche, ceci ne fonctionne pas: le code \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic correspondant (e. \begin_inset space \thinspace{} \end_inset g. \family typewriter \backslash ar[r]^(.3) \backslash phi \family default ou \family typewriter \backslash ar[r]_(.3) \backslash psi \family default ) n'est pas correctement interprété par l'éditeur mathématique de \SpecialCharNoPassThru LyX . Deux solutions alternatives sont suggérées dans le dernier chapitre de cette note. \end_layout \begin_layout Subsection Modifications d'une flèche \end_layout \begin_layout Standard La modification de l'apparence, de la forme ou de la position des flèches sont obtenues à l'aide du caractère arobase \family typewriter @ \family default . Il est suivi d'une paire de symboles appariés, ou la forme de la paire de symboles, \family typewriter { } \family default ou \family typewriter < > \family default ou \family typewriter / / \family default indique si l'on veut modifier l'apparence, la forme ou la courbure de la flèche. Plusieurs modifications peuvent être apportées à une flèche en même temps. \end_layout \begin_layout Subsubsection Apparence de la flèche \end_layout \begin_layout Standard Différentes apparences comme \emph on solide \emph default , \emph on pointillée \emph default , \emph on tiretée \emph default ou \emph on dédoublée \emph default sont offertes pour le corps d'une flèche. Ils peuvent être combinés avec des plumages et des dards variés. En général, l'apparence d'une flèche est obtenue en faisant immédiatement suivre la commande \family typewriter \backslash ar \family default par une arobase \family typewriter @ \family default et une paire d'accolades{\SpecialChar ldots } contenant des caractères décrivant le plumage, le corps et le dard de la flèche. Ces caractères sont choisis pour évoquer une équivalence ASCII du résultat désiré. Par exemple, \family typewriter \backslash ar@{>..>>} \family default produit une flèche avec une plume divisée, un corps pointillé et un dard double. Plusieurs autres apparences sont décrites dans le tableau ci-dessous. Notez que les plumes des flèches inclusives \begin_inset Formula $\xymatrix{A\ar@{^{(}->}[r] & B} $ \end_inset sont obtenues en mettant en indice ou en exposant des parenthèses ouvrantes, comme dans \family typewriter \backslash ar@{^(->}[r]. \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout Résultat \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Code source \SpecialCharNoPassThru LyX \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{-->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{\twohyphens >} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{..>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{..>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{~>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{~>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{-->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{\twohyphens >>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{>->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{>->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{_{(}->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{_(->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{^{(}->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{^(->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{|-|}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{|-|} \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \noindent \begin_inset VSpace defskip \end_inset En faisant suivre le caractère \family typewriter \begin_inset space ~ \end_inset @ \family default par les chiffres \begin_inset space ~ \end_inset 2, 3, un caractère souligné \begin_inset space ~ \end_inset _, ou bien un chapeau \begin_inset space ~ \end_inset ^, nous pouvons créer des flèches avec un corps double ou triple, ou des flèches n'affichant que la moitié haute ou la moitié basse de leur dard ou de leur plumage. Les flèches peuvent n'avoir ni dard ni plumage, comme le montre le dernier exemple: \begin_inset VSpace defskip \end_inset \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout Résultat \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Source code for \SpecialCharNoPassThru LyX \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@2[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@2 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@3[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@3 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@_{->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@_{->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@^{->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@^{->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@^{>>->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@^{>>->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{^{<}-_{>}}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{^<-_>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@2{--}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@2{\twohyphens } \end_layout \end_inset \end_inset \end_layout \begin_layout Subsubsection Conception de vos propres flèches \end_layout \begin_layout Standard Dans une certaine mesure, il vous est possible de concevoir vos propres flèches, à l'aide des caractères \family typewriter ><|ox+/()[ \family default , en utilisant la commande \family typewriter \backslash newdir \family default dans le préambule. Pour les détails, nous renvoyons au manuel \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -pic, d'où nous extrayons cet exemple: \end_layout \begin_layout Standard \family typewriter \backslash newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} \family default . \end_layout \begin_layout Standard \noindent Ceci définit un nouveau dard, référencé par \family typewriter |> \family default dans \family typewriter \backslash ar@{-|>}[r] \family default , et qui s'affiche correctement dans \SpecialCharNoPassThru LyX comme: \begin_inset Formula \[ \xymatrix{A\ar@{-|>}[r] & \ \ B} \] \end_inset \end_layout \begin_layout Subsection Positionnement d'une flèche \end_layout \begin_layout Standard Les flèches sont décalées latéralement à l'aide du modificateur \family typewriter @< \family default \begin_inset Formula $\ldots$ \end_inset \family typewriter > \family default où les points de suspension sont remplacés par une valeur positive ou négative. Par exemple, pour obtenir une paire de flèches s'opposant mutuellement entre deux nœuds, nous les décalons pour pouvoir les voir séparément. Notez que la direction du décalage est positive quand on suit la flèche du regard: de ce fait \end_layout \begin_layout Standard \family typewriter \backslash xymatrix{ \backslash circ \backslash ar@<1ex>[r]& \backslash circ \backslash ar@<1ex>[l]} \end_layout \begin_layout Standard \noindent produit \begin_inset Formula \[ \xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]} \] \end_inset \end_layout \begin_layout Subsubsection Diagramme en ligne ou centrés hors ligne \end_layout \begin_layout Standard Les flèches et les diagrammes peuvent être utilisés en ligne, comme celui-ci: \begin_inset Formula $\xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]} $ \end_inset . Quand, le code est saisi dans \SpecialCharNoPassThru LyX comme précédemment, sélectionnez-le et pressez soit \family sans Ctrl-m \family default four une disposition en ligne, soit \family sans Ctrl-M \family default pour une disposition centrée hors ligne. Les diagrammes disposés en ligne peuvent être positionnés hors ligne plus tard, via \family sans Édition\SpecialChar menuseparator Math \family default \family sans \SpecialChar menuseparator Changer le type de formule \family default (il faut que le curseur soit dans la formeule pour que ce menu apparaisse). \end_layout \begin_layout Subsection Flèches courbes \end_layout \begin_layout Standard Il existe deux méthodes simples pour courber les flèches. La première consiste à préciser numériquement de combien le point central du corps est élevé ou abaissé, la seconde consiste à forcer la flèche à quitter son point de départ dans une direction prescrite et à atteindre la cible dans une autre direction prescrite: la courbure nécessaire est alors déterminée automatiquement. Nous décrirons les deux méthodes. \end_layout \begin_layout Subsubsection Élever le corps \end_layout \begin_layout Standard Pour courber les flèches nous utilisons le modifieur \family typewriter @/ \family default \begin_inset Formula $\ldots$ \end_inset / . Les points de suspension représentent une mesure \SpecialCharNoPassThru TeX , qui doit être introduite en exposant ou en indice. Alors que dans \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default - \family typewriter pic \family default , nous pouvions l'écrire simplement, par exemple \family typewriter \backslash ar@/_1pc/ \family default , pour obtenir une flèche courbée vers le bas de \family typewriter 1pc \family default , ceci ne peut plus être fait directement dans \SpecialCharNoPassThru LyX . Il est nécessaire d'enclore la mesure dans une paire d'accolades, comme par exemple \family typewriter \backslash ar@/_{1pc}/ \family default . À titre d'exemple, voici deux flèches opposées entre \begin_inset Formula $A$ \end_inset et \begin_inset Formula $B$ \end_inset , courbées chacune de .5 pica, et produites par le code suivant: \end_layout \begin_layout Standard \family typewriter \backslash xymatrix{A \backslash ar@/_{.5pc}/[r] & B \backslash ar@/_{.5pc}/[l]} \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{A\ar@/{}_{.5pc}/[r] & B\ar@/{}_{.5pc}/[l]} \] \end_inset \end_layout \begin_layout Subsubsection Spécifier les directions de départ et d'arrivée \end_layout \begin_layout Standard La seconde solution pour courber les flèches consiste à spécifier leur direction géographique lorsqu'elles quittent leur source et atteignent leur objectif. Au lieu de nord, nord-est, est, etc., les directions sont nommées \family typewriter u \family default , \family typewriter ur \family default , \family typewriter r \family default , \family typewriter dr \family default , \family typewriter d \family default , \family typewriter dl \family default , \family typewriter l \family default , \family typewriter ul \family default , pour haut, haut-droite, bas-droite, etc. Une direction est spécifiée par \family typewriter @( \emph on out \emph default , \emph on in \emph default ) \family default où \emph on out \emph default est la direction au départ du premier objet et \emph on in \emph default la direction d'arrivée au second. Ci-dessous, nous montrons quelques flèches courbes et une boucle, qui prend naissance quand nous ne spécifions pas d'objectif pour une flèche, juste ses directions de départ et d'arrivée: \end_layout \begin_layout LyX-Code \backslash xymatrix{A \backslash ar@(dr,dl)[r] \backslash ar@(dr,dl)[rr] \begin_inset Newline newline \end_inset &B \backslash ar@(d,r)[dl] &C \backslash \backslash \begin_inset Newline newline \end_inset E \backslash ar@(ul,ur)} \begin_inset Formula \[ \xymatrix{A\ar@(dr,dl)[r]\ar@(dr,dl)[rr] & B\ar@(d,r)[dl] & C\\ E\ar@(ul,ur) } \] \end_inset \end_layout \begin_layout Subsection Modification des sommets \end_layout \begin_layout Standard L'exemple ci-dessus rappelle un diagramme d'automate, sauf que dans un tel diagramme les états seraient entourés d'un petit cercle, les états finaux étant représentés par un cercle double. \end_layout \begin_layout Subsubsection Encadrement d'objets \end_layout \begin_layout Standard Avec \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic, les éléments peuvent être pourvus d'un encadrement simple ou double, comme \begin_inset Formula $\xymatrix{*+[F]{A}} $ \end_inset ou \begin_inset Formula $\xymatrix{*+[F=]{B}} $ \end_inset en préfixant l'élément avec \family typewriter *[F-] \family default or \family typewriter *[F=] \family default et en enserrant la partie de l'élément à encadrer entre accolades. Normalement le cadre serait très serré, et il doit être relâché en préfixant par \family typewriter + \family default ou par \family typewriter ++ \family default . Les cadres ronds, comme \begin_inset Formula $\xymatrix{*++[o][F]{A}} $ \end_inset et \begin_inset Formula $\xymatrix{*++[o][F=]{B}} $ \end_inset sont obtenus en précisant la forme par \family typewriter [o]. \family default Le dernier exemple a donc été construit par le code *++[o][F=]{B}. De cette façon, l'automate suivant \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{\txt{start}\ar[r] & *++[o][F]{1}\ar[r] & *++[o][F=]{2}\ar@(ur,dr)\ar@(ur,ul)[l]} \] \end_inset \end_layout \begin_layout Standard \noindent peut être obtenu en saisissant \end_layout \begin_layout LyX-Code \backslash xymatrix{ \backslash txt{start} \backslash ar[r] \end_layout \begin_layout LyX-Code & *++[o][F]{1} \backslash ar[r] \end_layout \begin_layout LyX-Code & *++[o][F=]{2} \backslash ar@(ur,dr) \backslash ar@(ur,ul)[l] \end_layout \begin_layout LyX-Code } \end_layout \begin_layout Standard Les commandes \SpecialCharNoPassThru LaTeX \family typewriter \backslash entrymodifiers={ \family default \SpecialChar ldots \family typewriter } \family default rendront implicites certains style d'éléments, qui pourront bien entendu être remplacés par des éléments individualisés. Ainsi, après \family typewriter \backslash entrymodifiers={++[o][F-]} \family default , tous les éléments des matrices \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset seront entourées d'un cercle. \end_layout \begin_layout Subsubsection Encadrement rectangulaires \end_layout \begin_layout Standard Encadrer par un rectangle complet une partie d'une matrice \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset est obtenu avec la paire de macro-instructions \family typewriter \backslash save \SpecialChar ldots \backslash restore \family default . La dimension du rectangle est précisé par la paire pointée \begin_inset Formula $P_{0}.P_{1}$ \end_inset des points dénotant le point en haut à gauche et le point en bas à droite du rectangle. Chaque point, à son tour, est spécifié par une paire d'accolades doubles \begin_inset Quotes fld \end_inset \begin_inset Formula $x,y$ \end_inset \begin_inset Quotes frd \end_inset précisant la ligne \begin_inset Formula $x$ \end_inset et la colonne \begin_inset Formula $y$ \end_inset . Celles-ci sont suivies des commandes d'encadrement, pour produire par exemple la figure suivante: \begin_inset Formula \[ \xymatrix{A & B\ar@(d,r)[dl]\sp(0.2)\phi\sp(0.7)\psi\save"1,1"."2,1"*+[F=]\frm{}\restore\,\\ C & \save"1,1"."1,2"*++[F]\frm{}\restore } \] \end_inset Ici, le code \family typewriter \backslash save"1,1"."2,1"*+[F=] \backslash frm{} \backslash restore \family default crée le rectangle doublement encadré, tandis que le code pour le rectangle supplémentaire horizontal est \family typewriter \begin_inset Newline newline \end_inset \backslash save"1,1"."1,2"*++[F] \backslash frm{} \backslash restore \family default . Ce code peut être placé dans n'importe quelle cellule de la matrice. \end_layout \begin_layout Section Utilisation de l'éditeur mathématique de \SpecialCharNoPassThru LyX \begin_inset CommandInset label LatexCommand label name "sec:math-editor" \end_inset \end_layout \begin_layout Standard Au lieu de saisir le code \family typewriter xypic \family default , puis de le transformer en environnement mathématique en le sélectionnant et en pressant \family sans Ctrl-m \family default , ou \family sans Ctrl-M \family default , il est possible de construire et de modifier la totalité d'un diagramme \family typewriter xypic \family default en utilisant l'éditeur mathématique. Nous allons décrire les différentes étapes pour une figure comme celle présentée ci-dessus. \end_layout \begin_layout Subsection Attention à la saisie les accolades \end_layout \begin_layout Standard Rappelez-vous que, dans l'éditeur mathématique de \SpecialCharNoPassThru LyX , toute paire d'accolades destinée à enclore un paramètre de macro-instruction doit être saisie en ne tapant que \family typewriter \backslash { \family default : l'accolade fermante est créée automatiquement et une boîte apparaît entre elles où saisir le paramètre. Avec les diagrammes \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset , ceci s'applique en particulier aux modifications des flèches qui sont normalement saisies par \family typewriter @{ \family default \SpecialChar ldots \family typewriter } \family default , où les points de suspension représentent la description de la forme du plumage, du corps et du dard: dans l'éditeur mathématique, ne saisissez que \family typewriter @ \backslash { \family default et laissez \SpecialCharNoPassThru LyX afficher l'accolade fermante et la boîte de saisie destinée à la description de la flèche. \end_layout \begin_layout Standard Les accolades saisies sans la barre inclinée \begin_inset space ~ \end_inset \family typewriter \backslash \family default apparaîtront telles quelles, mais ne pourront accueillir de paramètres. Elles seront utiles par contre pour désigner des ensembles, par exemple dans \family typewriter {x \backslash in X \backslash mid x \backslash notin x} \family default qui va s'afficher ainsi \begin_inset Formula $\{x\in X\mid x\notin x\}$ \end_inset . \end_layout \begin_layout Subsection Construction de la matrice \end_layout \begin_layout Standard En pressant \family sans Ctrl-m \family default ou \family sans Ctrl-M, \family default ouvrez un environnement de formule et saisissez: \family typewriter \backslash xymatrix \family default . Ceci crée une matrice \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset . Ajoutez des lignes supplémentaires en pressant \family sans Ctrl-Enter \family default et ajoutez des colonnes en pressant \family sans Alt-m c i \family default . \end_layout \begin_layout Standard Ensuite, vous pourrez ajouter lignes et colonnes quand vous le désirerez, en utilisant les commandes du menu \family sans Édition\SpecialChar menuseparator Math, \family default leurs raccourcis qui débutent par \family sans Alt-m c \family default pour les commandes de colonnes ou par \family sans Alt-m w \family default pour les commandes de lignes. Plus simplement, il vous suffira d'utiliser les icônes de la palette mathématiq ue, en l'activant si ce n'est déjà fait via \family sans Visualiser\SpecialChar menuseparator Barres d'outils. \end_layout \begin_layout Subsection Saisie des nœuds, des flèches et des étiquettes \end_layout \begin_layout Standard Saisissez d'abord les nœuds dans les cases appropriées de la matrice. Si vous déplacez le curseur en dehors de la matrice, vous devriez avoir un premier aperçu de l'apparence des nœuds. Ensuite, ajoutez les flèches depuis les nœuds origines en saisissant \family typewriter \backslash ar[ \family default \emph on p \family typewriter \emph default ] \family default , où \emph on p \emph default peut être n'importe quel chemin construit à partir des caractères \begin_inset space ~ \end_inset \family typewriter u \family default , \family typewriter d \family default , \family typewriter l \family default , \family typewriter r \family default . Vérifiez que le chemin mène bien à un nœud existant dans la matrice, sinon votre figure ne s'affichera pas quand le curseur sortira de la zone d'édition. \end_layout \begin_layout Standard Ensuite, étiquetez les flèches en associant un texte en tant qu'indice ou d'exposant à la fin du chemin décrivant le flèche. Comme habituellement dans l'éditeur mathématique de \SpecialCharNoPassThru LyX , un caractère souligné \begin_inset space ~ \end_inset \family typewriter _ \family default ouvre une boîte pour un indice et un caractère accent circonflexe \begin_inset space ~ \end_inset \family typewriter ^ \family default (suivi éventuellement d'un espace) ouvre une boîte pour un exposant. Vous pouvez saisir n'importe quel code \SpecialCharNoPassThru LaTeX dans une étiquette. \end_layout \begin_layout Subsection Modification des flèches \end_layout \begin_layout Standard Finalement, vous pouvez modifier l'apparence des flèches en saisissant les modificateurs \begin_inset space ~ \end_inset @: \family typewriter @{ \family default \SpecialChar ldots \family typewriter } \family default , \family typewriter @< \family default \SpecialChar ldots >, \family typewriter @( \family default \SpecialChar ldots ,\SpecialChar ldots ) ou \family typewriter @/ \family default \SpecialChar ldots \family typewriter / \family default . L'avertissement vu plus haut ne s'applique que dans le premier cas: elle doit être saisie sous la forme \family typewriter @ \backslash { \family default avec la description de la flèche saisie dans le boîte \SpecialCharNoPassThru LyX . Si cette boîte reste vide, vous aurez spécifié une flèche vide, ce qui est une construction utile également, comme vous le verrez dans la section suivante. \end_layout \begin_layout Standard Les autres modificateurs, \family typewriter @< \family default \SpecialChar ldots \family typewriter > \family default , \family typewriter @( \family default \SpecialChar ldots ,\SpecialChar ldots \family typewriter ) \family default et \family typewriter @/ \family default \SpecialChar ldots \family typewriter / \family default sont saisis comme indiqué en remplaçant les points de suspension par la description correspondante. Le code pour la courbure des flèches, qui dans \family typewriter xypic \family default est \family typewriter @/_mesure/ \family default ou \family typewriter @/ \emph on ^ \emph default mesure/ \family default où \emph on mesure \emph default est n'importe quelle mesure \SpecialCharNoPassThru TeX , doit être saisi en \SpecialCharNoPassThru LyX comme l'indice ou l'exposant de la première barre inclinée \begin_inset space ~ \end_inset /: vérifiez bien que la barre inclinée finale ne fait pas partie de l'indice ou de l'exposant. \end_layout \begin_layout Subsection Quoi faire si quelque chose ne va pas \end_layout \begin_layout Standard En construisant un diagramme, vous \series bold devez \series default vérifier de temps en temps, en déplaçant le curseur hors de la zone d'édition, que l'aperçu la convertit correctement dans sa version graphique. Si cela ne se produit pas, cela peut venir du fait que l'aperçu n'est pas \begin_inset Quotes fld \end_inset conscient \begin_inset Quotes frd \end_inset , pour une raison ou une autre, de la nécessité de la conversion graphique. Survoler le zone et ressortir peut \begin_inset Quotes fld \end_inset réveiller \begin_inset Quotes frd \end_inset l'aperçu. \end_layout \begin_layout Standard Une raison plus profonde peut être une erreur de syntaxe dans la saisie: dans de cas, la zone d'édition mathématique disparaît. Si nécessaire, défaites les dernières modifications, en pressant \family typewriter Ctrl+Z \family default ou via l'icône de la barre d'outils principale, ou essayez de traduire le fichier \SpecialCharNoPassThru LyX en \family typewriter DVI \family default en pressant \family typewriter Ctrl \emph on +D \family default \emph default ou en sélectionnant \family sans View\SpecialChar menuseparator DVI \family default , ou encore via l'icône de la barre d'outil de création des sorties imprimables. Ceci provoquera un message d'erreur, qui vous donnera probablement une indication sur l'origine de l'erreur. \end_layout \begin_layout Section Astuces \end_layout \begin_layout Standard Certaines choses ne fonctionnent pas depuis \SpecialCharNoPassThru LyX . Celles qui manquent (manquaient) le plus sont les mises à l'échelle verticale et horizontale des diagrammes, et le positionnement correct des flèches. Nous décrivons ci-après quelques solutions alternatives. \end_layout \begin_layout Subsection Mises à l'échelle horizontale et verticale \end_layout \begin_layout Standard Il est fréquemment pratique d'étirer ou de comprimer la dimension horizontale ou verticale d'un diagramme entier en utilisant l'espacement des lignes ou des colonnes. Suivant le manuel \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset , par exemple \family typewriter \backslash xymatrix@R=1pc{ \family default \SpecialChar ldots \family typewriter } \family default définit une matrice \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset munie d'un espacement de lignes de 1 pica. De même, \family typewriter \backslash xymatrix@C= \family default \SpecialChar ldots \family typewriter { \family default \SpecialChar ldots \family typewriter } \family default permet de modifier l'espacement entre colonnes. Malheureusement, ces commandes ne fonctionnent pas encore dans \SpecialCharNoPassThru LyX , du fait que le caractère \begin_inset space ~ \end_inset \family typewriter @ \family default est interprété par \SpecialCharNoPassThru LyX comme terminant la macro-instruction matrice- \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset . \end_layout \begin_layout Standard Sachant que \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset range les valeurs d'espacement pour les lignes et les colonnes dans les variables \family typewriter \backslash xymatrixrowsep@ \family default et \family typewriter \backslash xymatrixrowsep@ \family default , ajoutez la macro suivante au préambule ( \family sans Document\SpecialChar menuseparator Paramètres...\SpecialChar menuseparator \family typewriter Préambule \family default ): \end_layout \begin_layout LyX-Code \backslash newcommand{ \backslash xyR}[1]{% \end_layout \begin_layout LyX-Code \backslash xydef@ \backslash xymatrixrowsep@{#1}} \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard Une macro dénommée \family typewriter \backslash xyC \family default peut être définie de la même manière en remplaçant \family typewriter \backslash xymatrixrowsep@ \family default par \family typewriter \backslash xymatrixcolsep@ \family default . Maintenant, une figure peut être mise à l'échelle en saisissant \family typewriter \backslash xyR{...} \family default dans la matrice \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset . Placez le curseur dans la matrice, juste avant la première cellule, puis saisissez \family typewriter \backslash xyR \backslash { \family default ou \family typewriter \backslash xyC \backslash { \family default ou les deux. N'oubliez pas les barres inclinées inverses et rappelez-vous que l'accolade fermante est fournie par \SpecialCharNoPassThru LyX . Insérez les dimensions entre les accolades, la valeur implicite étant \family typewriter 2pt \family default . \end_layout \begin_layout Standard \begin_inset Note Greyedout status open \begin_layout Plain Layout \series bold Note: \series default ces commandes affectent toutes les matrices \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset suivantes. N'oubliez donc pas de restaurer les valeurs implicites après une utilisation de \family typewriter \backslash xyR et autres. \end_layout \end_inset . Vous voyez ici un diagramme qui est compressé verticalement et étiré horizontal ement à l'aide de \family typewriter \backslash xyR{0.5pc} \backslash xyC{9pc} \family default : \begin_inset Formula \[ \xyR{.5pc}\xyC{9pc}\xymatrix{A\ar[r]\ar[d] & B\\ C\ar@{}[ur]|{\text{{étirement\,\ horizontal}}} } \] \end_inset \begin_inset Formula $\xyR{2pc}\xyC{2pc}$ \end_inset \begin_inset Note Note status open \begin_layout Plain Layout retour à la valeur implicite \end_layout \end_inset \end_layout \begin_layout Subsection Positionnement des étiquettes \end_layout \begin_layout Standard Une autre commande \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset utile permet de positionner correctement les étiquettes autour du corps des flèches. Cette fonctionnalité est parfois nécessaire, lorsque le positionnement implicite de l'étiquette perturbe le graphique, ou bien même se superpose à d'autre éléments, comme les intersections de flèches dans l'exemple ci-après. Pour déplacer une étiquette le long du corps d'une flèche, \begin_inset ERT status open \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset permet de préfixer l'étiquette par un nombre décimal entre parenthèses, spécifiant la fraction de la distance le long de la flèche où positionner l'étiquette: par exemple, le code \family typewriter \backslash ar[r]|(0.3) \backslash varphi \family default placera l'étiquette sur le corps, à peu près au tiers du corps de la flèche. \end_layout \begin_layout Standard Procéder de même pour les étiquettes au-dessus ou au-dessous des flèches comme avec \family typewriter \backslash ar[dr]^(0.3) \backslash varphi, \family default respectivement \family typewriter \backslash ar[ur]_(0.3) \backslash phi \family default , ne fonctionne pas depuis \SpecialCharNoPassThru LyX . 0 la place, il faut remplacer l'accent circonflexe \begin_inset space ~ \end_inset ^, resp. le caractère souligné \begin_inset space ~ \end_inset _, par les macros \family typewriter \backslash sp \family default , resp. \family typewriter \backslash sb \family default , ce qui s'écrit \family typewriter \backslash ar[dr] \backslash sp(0.3) \backslash varphi \family default et \family typewriter \backslash ar[ur] \backslash sb(0.3) \backslash phi. \family default Il est de ce fait possible d'insérer plusieurs étiquettes le long du chemin par cette méthode et les positionnement des étiquettes est correct, même si la flèche est courbée. Dans la figure suivante, la flèche courbe et ses quatre étiquettes ont été créées par \family typewriter \backslash ar@(r,r)[d] \backslash sp(0.2){ \backslash phi_{1}} \backslash sp(0.4){ \backslash phi_{2}} \backslash sb(0.6){ \backslash phi_{3}} \backslash sp(0.8){ \backslash phi_{4}}. \end_layout \begin_layout Standard \begin_inset Formula \[ \xyC{4pc}\xymatrix{\bullet\ar[dr]\sp(0.3)\varphi & \circ\ar@{}[d]|\vdots\ar@(r,r)[d]\sp(0.2){\phi_{1}}\sp(0.4){\phi_{2}}\sb(0.6){\phi_{3}}\sp(0.8){\phi_{4}}\\ \circ\ar[ur]\sb(0.3)\phi & \bullet } \] \end_inset \end_layout \begin_layout Subsection Flèches étirées invisibles \end_layout \begin_layout Standard Une astuce plus générique utilise les flèches invisibles pour placer n'importe quel objet à peu près partout dans un diagramme: créer une flèche invisible, la raccourcir (ou l'allonger) en deçà ou au-delà de sa cible en ajoutant un nombre décimal, e. \begin_inset space \thinspace{} \end_inset g. \family typewriter (0.6) \family default ou \family typewriter (1.4) \family default , à son chemin, et attacher une étiquette à la flèche. \end_layout \begin_layout Standard De cette façon, la flèche pointant vers la bas avec son étiquette \begin_inset space ~ \end_inset \begin_inset Formula $\varphi$ \end_inset à \begin_inset space ~ \end_inset (0.3) de sa longueur aurait aussi bien pu être produite en ajoutant à la flèche normale \family typewriter \backslash ar[dr] \family default une flèche invisible étiquetée par \begin_inset space ~ \end_inset \begin_inset Formula $\varphi$ \end_inset \family typewriter \backslash ar@{}[dr(0.6)]^ \backslash varphi \family default , restreinte à 0.6 de sa longueur: son étiquette apparaîtra maintenant à 0.3 de la longueur de la flèche normale. \end_layout \begin_layout Standard Cette astuce a deux inconvénients mineurs: d'abord, elle ne fonctionne pas avec les flèches courbes; ensuite, prolonger une flèche invisible au-delà de la dimension normale de la figure va élargir la boîte contenant la figure, et donc créer trop d'espacement vertical entre la figure et le paragraphe suivant ou le paragraphe précédent (sauf a créer un espacement négatif à l'aide de \family sans Insertion\SpecialChar menuseparator Typographie spéciale\SpecialChar menuseparator \family typewriter Espacement vertical \family default ). \end_layout \begin_layout Standard Néanmoins, les flèches invisibles constituent un outil très utile puisqu'elles permettent de placer théoriquement des informations n'importe où dans un diagramme. Dans la figure ci-dessus, par exemple, nous avons utilisé une flèche invisible pour importer \family typewriter \backslash vdots \family default comme étiquette, et dans la figure précédente nous avions utilisé une flèche invisible pour importer le texte \family typewriter \begin_inset Quotes fld \end_inset Étirement horizontal \family default \begin_inset Quotes frd \end_inset au centre de la figure. \end_layout \begin_layout Subsection Autres astuces pour \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \end_layout \begin_layout Standard Nous nous sommes concentrés ici sur la commande \family typewriter \backslash xymatrix \family default , qui n'est qu'une des fonctionnalités disponibles dans le remarquable paquetage \begin_inset space ~ \end_inset \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy{} \end_layout \end_inset \family default créé par Kris \noun on Rose \noun default . Le manuel \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -pic \begin_inset space ~ \end_inset \begin_inset CommandInset citation LatexCommand cite key "xypic manual" \end_inset illustre les nombreuses possibilités de ce paquetage. Attention cependant, son style est laconique et vous devrez sans doute expérimenter en modifiant les nombreux exemples. Lauda \begin_inset CommandInset citation LatexCommand cite key "Lauda" \end_inset explique comment utiliser \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic pour créer des tresses, des diagrammes de cobordisme ou de chaînes, et bien plus. Vous pouvez aussi consulter l'exemple \family typewriter inset_preview.lyx \family default empaqueté avec \SpecialCharNoPassThru LyX , qui montre comment utiliser des commandes \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset en utilisant les inserts \family typewriter Code \begin_inset space ~ \end_inset \SpecialCharNoPassThru TeX \family default et \family typewriter Aperçu. \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "xypic manual" \end_inset \lang english Kristoffer H. Rose: \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic User's Guide \emph default \lang french . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "xypic reference" \end_inset \lang english Kristoffer H. Rose and Ross Moore: \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic Reference Manual \emph default \lang french . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyrefer.pdf \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "xypic" \end_inset \lang english Homepage of the package \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic \emph default \lang french : \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://www.ctan.org/pkg/xypic \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "instant-preview" \end_inset \lang english Homepage of preview-latex: \lang french \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://www.gnu.org/software/auctex/preview-latex.html \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "AUCTeX" \end_inset \lang english Homepage of AUC\SpecialCharNoPassThru TeX \lang french : \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://www.gnu.org/software/auctex/ \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "Lauda" \end_inset \lang english Aarlon Lauda: \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic \emph default \emph on tutorial with an archive of examples \emph default \lang french . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf \end_layout \end_inset \end_layout \end_body \end_document