增加乳胶中箭头的长度

增加乳胶中箭头的长度

在此处输入图片描述

附件是我用来绘制换向器图的代码。我想增加箭头的长度。我该怎么做。

$$
\begin{xy}\xymatrix{
 E
  \ar[r]^*{e} 
&
 X
  \ar[r]<4pt>^*{s}
  \ar[r]<-4pt>_*{t} 
&
 Y \\
 Z
  \ar[u]<4pt>^*{\gamma_1}
  \ar[u]<-4pt>_*{\gamma_2}
  \ar[ur]_*{e \circ \gamma_1 = e \circ \gamma_2}
}\end{xy}
$$

答案1

这很简单:

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

\begin{document}

\[
\xymatrix@R+1pc@C+1pc{
  E \ar[r]^*{e} & X  \ar[r]<4pt>^*{s} \ar[r]<-4pt>_*{t} & Y \\
  Z \ar[u]<4pt>^*{\gamma_1} \ar[u]<-4pt>_*{\gamma_2}
    \ar[ur]_*{e \circ \gamma_1 = e \circ \gamma_2}
}
\]

\end{document}

@R+1pc告诉 Xy-pic 将行间距增加 1pc(12pt);同样,@C+1pc增加列间距。使用以下命令可获得相同的结果

\xymatrix@+1pc{

这会将设置应用于行间距和列间距。单独指定它们可以实现更精细的控制。

在此处输入图片描述

注意你应该使用\[...\]而不是$$,请参阅为什么 \[ ... \] 比 $$ ... $$ 更可取?您也不需要任何xy环境。

相同之处tikz-cd

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

\begin{document}

\[
\begin{tikzcd}[column sep=3em,row sep=3em]
  E \arrow[r,"e"] & X \arrow[r,shift left=.7ex,"s"] \arrow[r,shift right=.7ex,swap,"t"] & Y
  \\
  Z \arrow[u,shift left=.7ex,"\gamma_1"] \arrow[u,shift right=.7ex,swap,"\gamma_2"]
    \arrow[ur,swap,"e \circ \gamma_1 = e \circ \gamma_2"]
\end{tikzcd}
\]

\end{document}

在此处输入图片描述

答案2

只有通过增大物体间的距离才能使箭头变得更长。

您可以通过指定例如来使矩阵更大\xymatrix@=2cm{。您还可以指定不同的行和列分隔。

或者在其中放入虚拟条目以使一些箭头变大:

\begin{xy}\xymatrix@=1cm{
 E
  \ar[rr]^*{e} 
&&
 X
  \ar[r]<4pt>^*{s}
  \ar[r]<-4pt>_*{t} 
&
 Y \\
 Z
  \ar[u]<4pt>^*{\gamma_1}
  \ar[u]<-4pt>_*{\gamma_2}
  \ar[urr]_*{e \circ \gamma_1 = e \circ \gamma_2}
}\end{xy}

顺便说一句,在 LaTeX 中您应该使用\[...\]而不是$$...$$

相关内容