Приложение Д. Пакет Xy-pic
Сдвинутые стрелки
Стрелки можно сдвигать параллельно себе. Для этого используется конструкция @<...>, где на месте точек стоит длина в TeX'овских единицах, указывающая величину сдвига. Если эта длина положительна, то сдвиг будет влево (если смотреть от начала к концу стрелки), если отрицательна, то вправо:
Еще об изогнутых стрелках
Кроме конструкции @/.../, изгиб стрелки можно задавать конструкцией @( направление_выхода,направление_входа), где направление_выхода и направление_входа — это буквы или пары букв, значение которых показано на следующем рисунке:
Пример:
Заодно показано, как с помощью "пустого" указателя направления [] и @(...) -конструкции можно напечатать стрелку, ведущую из формулы в нее же.
Начертания стрелок
В следующей таблице собраны некоторые начертания стрелок (часть из них стрелками, строго говоря, не являются, но в диаграмме могут быть полезны), которые можно получить с помощью @{...}-конструкции.
@{-->} | |
@{=>} | |
@{.>} | |
@{>->} | |
@3{->} | |
@{<->} | |
@{->>} | |
@{<=>} | |
@{|->} | |
@{^{(}->} | |
@{-^{>}} | |
@{-_{>}} | |
@{-} | |
@{=} | |
@3{-} |
Если того, что приведено в таблице, недостаточно, читатель может попробовать скомпоновать еще что-нибудь в этом роде по аналогии (вероятность, что это сработает, отлична от нуля) или обратиться к документации.
Оптимизация и предупреждение ошибок
Пакет Xy-pic заставляет TeX работать буквально на пределе возможностей; файлы, в которых используются Xy-pic'овские конструкции, обрабатываются довольно медленно. Для ускорения работы полезно включить в преамбулу команду \CompileMatrices: в этом случае при первом запуске LaTeX'а информация о ваших \xymatrix будет записана в специальные файлы, а при последующих запусках обрабатываться будут именно они, что сэкономит TeX'у время на развертывание (части из) чудовищного количества макроопределений.
Иногда синтаксис Xy-pic'а вступает в конфликт с синтаксисом других LaTeX'овских команд, что приводит к весьма загадочным сообщениям об ошибках. Чтобы избежать этого, при пользовании Xy-pic'ом полезно применять следующие меры предосторожности:
- в аргументе команды \xymatrix каждую из формул, соединяемых стрелками, и каждую надпись при стрелке стоит заключать в фигурные скобки (автор поленился это сделать в вышеприведенных примерах, но в них формулы были очень просты, что снижает шанс нарваться на неприятность);
- если в вашей формуле присутствует что-то еще, кроме
одной-единственной команды \xymatrix, возьмите, от греха
подальше, всю эту команду в фигурные скобки, вот так:
{\xymatrix{....}}
- не пытайтесь определять собственные сокращенные обозначения для того, что может быть в аргументе команды \xymatrix: по \tex'ническим причинам эти макросы могут не сработать.
Еще одно замечание: пакет Xy-pic (как и подавляющее большинство LaTeX'овских стилевых пакетов) распространяется бесплатно; тем не менее, если вы пользуетесь им в своем документе, то авторы этого пакета очень просят вас отразить это обстоятельство в сноске к статье или в выходных данных книги.
Будем надеяться, что описанные выше возможности Xy-pic'а достаточны для набора ваших диаграмм. Как мы уже отмечали, этот пакет предоставляет гораздо большие графические возможности, но если нужна сложная графика, разумнее освоить программу metapost, подготавливающую рисунки в формате PostScript, и включать в текст полученные с ее помощью графические файлы так, как описано в приложении Б.