\documentclass[10pt]{article}
\usepackage{fancyhdr,graphicx,lastpage}
\usepackage[all]{xy}
\usepackage{listings}
\usepackage{latexsym}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{makeidx}
\makeindex
\usepackage[a4paper,hmargin=2.5cm,vmargin=2.5cm]{geometry}
\renewcommand{\rmdefault}{ptm}
\renewcommand{\bfdefault}{b}
\usepackage[scaled=0.92]{helvet}
\usepackage{courier}
\normalfont % in case the EC fonts aren't available
\usepackage[T1]{fontenc}
\usepackage{etoolbox}
\makeatletter
\begin{document}
Given categories $\mathbb{A}$ and $\mathbb{B}$ consider the natural transformations:
$\xymatrix{\mathbb{A}\ar@<2ex>[r]^F^{\alpha} \ar[r]_G \ar@<-2ex>[r]_H^{\beta}&\mathbb{B}}$
\end{document}$
请帮我在 xymatrix 中排版这个箭头图。这是两个自然变换的垂直组合。
答案1
我知道您要求提供一个解决方案xy
,但您可能需要考虑一个tikz-cd
解决方案。
以下是代码:
\documentclass{article}
\usepackage{amsfonts}
\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}[row sep=.3cm, column sep=3cm]
\phantom{\mathbb{A}}\arrow[r, "F" description, ""{name=top, below}] & \phantom{\mathbb{B}}\\
\mathbb{A}\arrow[r,"G" description, ""{name=midtop, above}, ""{name=midbot, below}] & \mathbb{B}\\
\phantom{\mathbb{A}}\arrow[r, "H" description, ""{name=bot}] & \phantom{\mathbb{B}}
\arrow[from=top,to=midtop,"\alpha"]
\arrow[from=midbot,to=bot,"\beta"]
\end{tikzcd}\]
\end{document}
这个想法是利用name
中心标签上方和下方的空间,以便正确放置垂直箭头。符号\phantom
用于保持水平箭头的长度相同。
row sep
您可以通过更改和值来根据自己的喜好调整间距column sep
。
答案2
已更新 1:使用 hacky。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[all,cmtip]{xy}
\begin{document}
\xymatrix@R=.8pc@C=8pc{
\mathbb{A} \ar[r]|G \ar@<-4ex>[r]_H \ar@<4ex>[r]^F_{\mkern9.8mu\big\downarrow \alpha} \ar@<10.5ex>[d]^{\beta} &\mathbb{B}\\
&
}
\end{document}
我无法很好地解释,但从我的示例来看,没有必要使用双美元$
,\xymatrix
这与原始图像相似。我的代码非常简单,因为我不是专家(因为我的水平很低,无法理解文档),您可以看到最小的差异。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[all]{xy}
\begin{document}
\xymatrix@1@C=6pc{
\ar[r]^F \ar@<7.9ex>[d]^{\alpha}&\\
\mathbb{A} \ar[r]|G \ar@<7.9ex>[d]^{\beta}& \mathbb{B}\\
\ar[r]_H &
}
\end{document}
R
这里对于行和列有不同的方法C
。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[all]{xy}
\begin{document}
xymatrix@R=1pc@C=5pc{
\ar[r]^F \ar@<7.2ex>[d]^{\alpha}&\\
\mathbb{A} \ar[r]|G \ar@<7.2ex>[d]^{\beta}& \mathbb{B} \\
\ar[r]_H &
}
\end{document}