lyx_mirror/lib/examples/fr/Graphics_and_Insets/XY-Pic.lyx
Richard Kimberly Heck d302d6b20f Update docs
2024-01-11 11:06:40 -05:00

4045 lines
66 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#LyX 2.4 created this file. For more info see https://www.lyx.org/
\lyxformat 620
\begin_document
\begin_header
\save_transient_properties true
\origin /systemlyxdir/examples/fr/Graphics_and_Insets/
\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 no
\language french
\language_package default
\inputencoding utf8
\fontencoding auto
\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_roman_osf false
\font_sans_osf false
\font_typewriter_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures false
\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 a4
\use_geometry false
\use_package amsmath 2
\use_package amssymb 2
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date true
\justification true
\use_refstyle 0
\use_minted 0
\use_lineno 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style swiss
\dynamic_quotes 0
\papercolumns 1
\papersides 2
\paperpagestyle default
\tablestyle default
\tracking_changes false
\output_changes false
\change_bars false
\postpone_fragile_content false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\docbook_table_output 0
\docbook_mathml_prefix 1
\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 \SpecialChar 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
<jeanpierre.chretien@free.fr>
\family default
,
novembre 2009,
mise à jour mars 2014
\end_layout
\end_inset
\end_layout
\begin_layout Abstract
Avec les versions récentes de \SpecialChar LyX
et grâce à la possibilité d'afficher un aperçu sur le vif offerte par la distribution \SpecialChar 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 \SpecialChar LyX
:
les diagrammes peuvent être affichés et modifiés dans le fenêtre principale de \SpecialChar LyX
.
Nous décrivons ici comment utiliser la commande
\family typewriter
\backslash
xymatrix
\family default
de
\family typewriter
xypic
\family default
depuis \SpecialChar LyX
pour tracer,
modifier et visionner des diagrammes utilisés typiquement 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 facilement des graphiques et des diagrammes en \SpecialChar LaTeX
.
Malheureusement,
son utilisation depuis \SpecialChar LyX
était limitée par les infâmes boîtes de code \SpecialChar TeX
,
ce qui faisait que la fenêtre \SpecialChar LyX
ne pouvait afficher que les sources \SpecialChar LaTeX
et non pas le diagramme résultant.
Le mode \SpecialChar LaTeX
\begin_inset Quotes cld
\end_inset
Aperçu sur le vif
\begin_inset Quotes crd
\end_inset
(
\emph on
preview-style
\emph default
),
inclus dans le projet AUC\SpecialChar TeX
\begin_inset CommandInset citation
LatexCommand cite
key "AUCTeX"
literal "true"
\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 \SpecialChar 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
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 \SpecialChar LyX
,
et comment créer et modifier des diagrammes.
Nous avons testé ce qui suit avec \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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"
nolink "false"
\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 cld
\end_inset
zone d'édition mathématique
\begin_inset Quotes crd
\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 \SpecialChar 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"
literal "true"
\end_inset
ne sont pas toutes interprétées dans \SpecialChar LyX
.
\end_layout
\begin_layout Section
Préparation
\end_layout
\begin_layout Standard
Ce qui suit nécessite que les paquetages \SpecialChar LaTeX
\family typewriter
xypic
\family default
et
\family typewriter
preview
\family default
fassent partie de la distribution \SpecialChar LaTeX
.
Ils sont disponibles sur CTAN,
voir à
\begin_inset space ~
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "instant-preview"
literal "true"
\end_inset
,
resp.
à
\begin_inset space ~
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "xypic"
literal "true"
\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 \SpecialChar LyX
.
Les étapes pour créer un premier diagramme dans \SpecialChar LyX
sont alors les suivantes:
\end_layout
\begin_layout Enumerate
Activation et aperçu de test
\end_layout
\begin_deeper
\begin_layout Enumerate
Ouvrir \SpecialChar 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 \SpecialChar 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
:
\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"
literal "true"
\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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
<lyxtabular version="3" rows="11" columns="2">
<features islongtable="true" longtabularalignment="center">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Résultat
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Code source \SpecialChar LyX
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{-->}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{-->}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{..>}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{..>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{~>}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{~>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{->>}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{->>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{-->>}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{-->>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{>->>}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{>->>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{_{(}->}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{_(->}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{^{(}->}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{^(->}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{|-|}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{|-|}
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\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
<lyxtabular version="3" rows="8" columns="2">
<features islongtable="true" longtabularalignment="center">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Résultat
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Source code for \SpecialChar LyX
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@2[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@2
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@3[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@3
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@_{->}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@_{->}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@^{->}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@^{->}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@^{>>->>}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@^{>>->>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@{^{<}-_{>}}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@{^<-_>}
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\begin_inset Formula $\xymatrix{\ \ar@2{--}[r] & \ }
$
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\backslash
ar@2{--}
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\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 \SpecialChar 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 cld
\end_inset
\begin_inset Formula $x,y$
\end_inset
\begin_inset Quotes crd
\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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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ématique,
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
,
\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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\emph on
mesure
\emph default
est n'importe quelle mesure \SpecialChar TeX
,
doit être saisi en \SpecialChar 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 cld
\end_inset
conscient
\begin_inset Quotes crd
\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 cld
\end_inset
réveiller
\begin_inset Quotes crd
\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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
,
du fait que le caractère
\begin_inset space ~
\end_inset
\family typewriter
@
\family default
est interprété par \SpecialChar 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 \SpecialChar 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é horizontalement à 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 \SpecialChar 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 cld
\end_inset
Étirement horizontal
\family default
\begin_inset Quotes crd
\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"
literal "true"
\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"
literal "true"
\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 \SpecialChar 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
\SpecialChar TeX
\family default
et
\family typewriter
Aperçu.
\end_layout
\begin_layout Bibliography
\begin_inset CommandInset bibitem
LatexCommand bibitem
key "xypic manual"
literal "true"
\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"
literal "true"
\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"
literal "true"
\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"
literal "true"
\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"
literal "true"
\end_inset
\lang english
Homepage of AUC\SpecialChar 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"
literal "true"
\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