Пример с комментариями
Чтобы можно было пользоваться пакетом Xy-pic для набора коммутативных диаграмм, надо подключить стилевой пакет xy с опциями matrix, arrow и curve. Иными словами, надо написать в преамбуле
\usepackage[matrix,arrow,curve]{xy}Объяснить, как набирать с помощью Xy-pic'а коммутативные диаграммы, удобно на примере.
Рассмотрим следующую диаграмму:
Ей соответствовал такой исходный текст:
$$ \xymatrix{ && M'\ar@{o->}[dl]^e \ar@/_1pc/@{-->}[ddll]_u\\ & K\ar[rr]^f \ar[dr]^h && L \ar[ul]_a \ar[dl]_g\\ L'\ar@{o->}[ur]_d \ar@/_1pc/@{-->}[rrrr]_v && M\ar[rr]^p \ar[ll]_c && K'\ar@{o->}[ul]_b } $$Разберем его шаг за шагом.
Вся диаграмма записывается в аргументе команды \xymatrix.
Далее, диаграмма состоит из формул, соединенных стрелками. Прежде чем набирать исходный текст для диаграммы, надо мысленно расположить эти формулы в вершинах прямоугольной решетки. В нашем случае это решетка
: стоит в третьей позиции верхней строки, и — во второй и четвертой позициях средней строки, , и — в первой, третьей и пятой позициях нижней строки. Строки разделяются командами \\, элементы строки — символами &. Если в каких-то узлах решетки ни одной формулы нет, надо оставить пустое место; символы & в необходимом количестве присутствовать обязаны.После каждой из формул (и до следующего & или \\) следуют обозначения для всех стрелок, выходящих из этой формулы. Рассмотрим эти обозначения повнимательнее.
Каждое обозначение для стрелки состоит из пяти элементов (не все эти элементы обязательны).
Первый (обязательный) элемент обозначения для стрелки — команда \ar.
Второй элемент — обозначение для изгиба стрелки (если стрелка прямая, его можно опустить). Оно имеет вид @/.../, где на месте точек записывается указание о том, как именно эту стрелку надо изогнуть. Это указание состоит из символа ^ или _, за которым следует длина в TeX'овских единицах, указывающая степень изогнутости (в нашем примере у всех изогнутых стрелок эта длина равна 1pc).
Длину можно и не указывать, написав просто @/^/ или @/_/, — тогда стрелке буден придан некоторый изгиб "по умолчанию". В любом случае символ ^ или _ указывает, в какую сторону стрелка изгибается: если _, то вправо, если ^ то влево (если смотреть от начала стрелки к ее концу).
Третий элемент — указание на начертание стрелки (если стрелка " обычная", его можно опустить). Оно имеет вид @{...}, где на месте точек ставится условное обозначение, более или менее имитирующее требуемую форму. В нашем примере присутствуют пунктирные стрелки, для которых это обозначение имеет вид @{-->}, и стрелки с кружочком в начале, обозначаемые как @{o->}.
Четвертый (обязательный) элемент обозначения для стрелки указывает ее направление. Каждая стрелка рассматривается как идущая из одного узла решетки в другой. Для задания направления (или, если угодно, точки назначения) стрелки необходимо поместить в квадратные скобки комбинацию из букв u (вверх), d (вниз), r (вправо) и l (влево). Например, [ddll] означает, что пункт назначения стрелки находится на нашей решетке на два шага вниз и на два шага влево от той формулы, из которой стрелка выходит.
Пятый и последний элемент (необязательный) определяет надпись при стрелке. Он состоит из символа ^ или _ и текста надписи (если в надписи больше одного символа, ее надо, как водится, взять в фигурные скобки). Знак ^ указывает, что надпись должна быть слева от стрелки (если смотреть от начала к концу), знак _ — что справа. При одной стрелке могут быть надписи с обеих сторон.