使用 xypic 在箭头的起点和终点处绘制点

使用 xypic 在箭头的起点和终点处绘制点

我想要绘制下图:

在此处输入图片描述

我已经编译了以下代码来获取它:

\documentclass{book}
\usepackage[all]{xypic}
\begin{document}
 $\xymatrix{\vdots && \vdots \\
 \downarrow && \downarrow\\
A \ar[rr] && B\\
\downarrow && \downarrow \\
\vdots && \vdots}$
\end{document}

生成:

在此处输入图片描述

我如何使用“xypic”绘制我想要的图表。

答案1

\documentclass{book}
\usepackage[all]{xy}
\begin{document}
 $\xymatrix{\vdots\ar[d] && \vdots\ar[d] \\
A \ar[rr]\ar[d] && B\ar[d]\\
\vdots && \vdots}$
\end{document}

在此处输入图片描述

由于\vdots在顶部插入了一些空间,以前的版本看起来“不均匀”;这是相同的图表,但修改了版本以\vdots防止顶部出现过多间距:

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

\makeatletter
\DeclareRobustCommand{\tvdots}{%
  \vbox{\baselineskip4\p@\lineskiplimit\z@\kern0\p@\hbox{.}\hbox{.}\hbox{.}}}
\makeatother

\begin{document}
 $\xymatrix{\tvdots\ar[d] && \tvdots\ar[d] \\
A \ar[rr]\ar[d] && B\ar[d]\\
\tvdots && \tvdots}$
\end{document}

在此处输入图片描述

同一张图tikz-cd

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

\makeatletter
\DeclareRobustCommand{\tvdots}{%
  \vbox{\baselineskip4\p@\lineskiplimit\z@\kern0\p@\hbox{.}\hbox{.}\hbox{.}}}
\makeatother

\begin{document}
 \begin{tikzcd}
\tvdots\ar{d} && \tvdots\ar{d} \\
A \ar{rr}\ar{d} && B\ar{d} \\
\tvdots && \tvdots
\end{tikzcd}
\end{document}

在此处输入图片描述

答案2

这是xypic仅用箭头制作的另一种解决方案。

在此处输入图片描述

代码:

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

\begin{document}
 \[
 \xymatrix{
   \ar@{.}[d] && \ar@{.}[d] \\
   \ar[d] && \ar[d] \\
   A \ar[rr]\ar[d] && B\ar[d]\\
   \ar@{.}[d] && \ar@{.}[d] \\
    &&
   }
 \]
\end{document} 

相关内容