xypic: тождества двухклеточного треугольника

xypic: тождества двухклеточного треугольника

Я хотел бы набрать, используя xypic, тождества треугольника из определения сопряженных функторов в теории категорий. Моя проблема заключается в создании двойной стрелки, соединяющей гипотенузу и противолежащий угол.

введите описание изображения здесь

Вот (совершенно тривиальная) часть, которую я могу сделать сам, а именно все, кроме двойных стрелок: \xymatrix{ C\ar[r]^{F}\ar[dr]_{1_{C}} & D\ar[d]^{G} & & D\ar[dr]^{1_{D}}\ar[d]_{G}\\ & C & & C\ar[r]_{F} & D }

Предположительно, существует способ создания таких «склеиваемых диаграмм» в xypic, но я нигде не нашел четких инструкций; я знаю, \compositemapчто эта команда как-то задействована, но я не смог понять, как ее использовать.

решение1

Я больше не пользуюсь xy, так как это не так просто и эффективно, какНадеюсь, это решение поможет и вам:

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}    
\[\begin{tikzcd}[row sep=3em]
C \arrow{r}{F} \arrow[""{name=foo}]{dr}[swap]{1_C} & D \arrow{d}{G} \arrow[Rightarrow, from=foo, swap, near start, "\eta"]& D \arrow{d}[swap]{G} \arrow[""{name=bar, below}]{dr}{1_D} & \\
& C & C \arrow{r}[swap]{F} \arrow[Rightarrow, to=bar, swap, near start, "\varepsilon"] & D
\end{tikzcd}\]
\end{document}

введите описание изображения здесь


Как вы и хотели, вот решение с xy. Оно довольно хакерское. Использование примеров, упомянутых Sigur, было бы лучше, я полагаю. Но поскольку xyможет управлять пустыми записями матрицы, я использовал это, чтобы направить стрелки туда, куда мне нужно. Однако необходимо двойное количество узлов матрицы.

% arara: pdflatex

\documentclass{article}
\usepackage[%
,all
%,cmtip % recommended, but I do not know how to get it to work for the double arrow
]{xy}

\begin{document}    
\[\xymatrix@R=4mm @C=4mm{ 
    C\ar[rr]^{F} \ar[ddrr]_{1_{C}} & & D \ar[dd]^{G} & & D \ar[ddrr]^{1_{D}} \ar[dd]_{G} & & \\ 
    &\ar@2{->}[ur]_{\eta} & & & & & \\
    & & C & & C \ar@2{->}[ur]_{\varepsilon} \ar[rr]_{F} & & D 
}\]
\end{document}

введите описание изображения здесь

решение2

Другое xy-picрешение с другим подходом:

\documentclass{article}
\usepackage[all]{xy}

\begin{document}
\[
\xymatrix{ 
  C\ar[r]^{F}\ar[dr]_{1_{C}} & D\ar[d]^{G}\ar@{<=}[dl]+<22pt>^>>>{\eta} & & D\ar[dr]^{1_{D}}\ar[d]_{G}                      & \\ 
                             & C                                        & & C\ar[r]_{F}\ar@{=>}[ur]-<22pt>_>>>{\varepsilon} & D 
}
\]
\end{document} 

Выход:

введите описание изображения здесь

решение3

Я просто посмотрел на то же самое и попытался использовать эту 2cellфункцию в xy-pic. После прочтениясправочное руководство, я думаю, что «правильным» решением будет следующее

\documentclass[border=10pt]{standalone}
\usepackage[all,2cell]{xy}
\UseAllTwocells

\begin{document}
\[
\xymatrix{C\drtwocell\omit{^<-2>\eta}\ar_{1_C}[dr]\ar^F[r]&D\ar^G[d]&
D\drtwocell\omit{^<2>\varepsilon}\ar^{1_D}[dr]\ar_G[d]&\\
&C&C\ar_F[r]&D}
\]
\end{document}

Код выглядит так \drtwocell\omit{^<-2>\eta}: , где \omitговорит, что мы опустим две изогнутые стрелки, ^указывает направление 2-ячейки и <-2>сдвигает метку (в противном случае она будет в центральной точке).

Выход:

введите описание изображения здесь

Есть проблема: выне могууказать, с какой стороны находится метка по отношению к 2-элементной. Похоже, это не реализовано, так что, возможно, это лучшее, что мы можем сделать без каких-то других хаков.

Связанный контент