无箭头代码的交换图

无箭头代码的交换图

我是 LaTeX 新手。如果有人能给我提供下图的简单 LaTeX 代码,那将很有帮助

在此处输入图片描述

这里的问题是:我知道只有当有水平箭头时,这种通勤图的代码才有效。但在这个图中没有水平箭头。

答案1

箭头是可选的。不要忘记这个cmtip选项,因为 Xy-pic 的标准箭头尖实在太糟糕了。

\documentclass{article}

\usepackage{amsmath}
\usepackage[all,cmtip]{xy}

\begin{document}

\begin{gather}
\begin{gathered}
\xymatrix{
  V \ar[d] \ar[r]           & W \ar[d] \\
  \mathcal{C}(G,K)^m \ar[r] & \mathcal{C}(G,K)^n
}
\end{gathered}
\\
\begin{gathered}
\xymatrix{
  V \ar[d]                  & W \ar[d] \\
  \mathcal{C}(G,K)^m \ar[r] & \mathcal{C}(G,K)^n
}
\end{gathered}
\\
\begin{gathered}
\xymatrix{
  V \ar[d]           & W \ar[d] \\
  \mathcal{C}(G,K)^m & \mathcal{C}(G,K)^n
}
\end{gathered}
\end{gather}

\end{document}

环境gathered用于根据方程编号将图表居中。如果不需要编号,则不需要。

在此处输入图片描述

答案2

这里有两种可能性,带有pst-node和带有tikz-cd

\documentclass[pdf]{article}
\usepackage{mathtools}
 \usepackage{pst-node}
\usepackage{tikz-cd}
\newcommand{\dvarprojlim}[1]{\mathop{\mathstrut\varprojlim\limits_{#1}}}

\begin{document}

\texttt{psmatrix solution: }
 \[ \psset{arrows=->, arrowinset=0.25, linewidth=0.6pt, nodesep=3pt,mnode =R, rowsep=1cm, colsep = 1cm}
  \begin{psmatrix}
%%% nodes
  V & W\\%
\mathcal C(G; K)^m & \mathcal C(G; K)^n 
 %%% horizontal arrows
 \ncline{2,1}{2,2}
 %%% vertical arrows
 \ncline{1,1}{2,1}\ncline{1,2}{2,2}
 \end{psmatrix}
 \]
\vskip 1cm

\texttt{tikz-cd solution: }
\[ \begin{tikzcd}\
V \arrow{d}& W\arrow{d} \\%
 \mathcal C(G; K)^m \arrow{r}& \mathcal C(G; K)^n 
\end{tikzcd}
\]

\end{document} 

在此处输入图片描述

答案3

两种不同的做法MetaPost, 使用boxesMetaObj包,并产生相同的结果。通过 LuaLaTeX 程序包含在luamplib包装以方便排版。

\documentclass[border=2mm, multi=mplibcode]{standalone}
\usepackage{luamplib}
    \mplibtextextlabel{enable}
\begin{document}
  \begin{mplibcode}
    input boxes
    beginfig(1);
      boxit.V("$V$"); 
      boxit.W("$W$");
      boxit.Cm("$\mathcal{C}(G;K)^m$");
      boxit.Cn("$\mathcal{C}(G;K)^n$");
      Cn.w - Cm.e = (cm, 0);
      V.s - Cm.n = (0, cm) = W.s - Cn.n;
      drawunboxed(V, W, Cm, Cn);
      drawarrow V.s -- Cm.n;
      drawarrow W.s -- Cn.n;
      drawarrow Cm.e -- Cn.w;
    endfig;
  \end{mplibcode}

  \begin{mplibcode}
    input metaobj
    beginfig(1);
      mat = new_Matrix_(2,2)(
        new_Box_("$V$")("framed(false)"),
        new_Box_("$W$")("framed(false)"),
        new_Box_("$\mathcal{C}(G;K)^m$")("framed(false)"),
        new_Box_("$\mathcal{C}(G;K)^n$")("framed(false)"))
        ("hsep(1cm)", "vsep(1cm)");
      mcline.Obj(mat)(1,1, 2,1);
      mcline.Obj(mat)(1,2, 2,2);
      mcline.Obj(mat)(2,1, 2,2);
      Obj(mat).c = origin;
      draw_Obj(mat);
    endfig;
  \end{mplibcode}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容