我对我的图表有疑问。如何增加箭头和标签之间的间隙?我希望左箭头和标签之间有更多空间 (2)。感谢您的任何建议。
\documentclass{amsart}
\usepackage{graphicx}
\usepackage[all]{xypic}
\begin{document}
\begin{equation*}
\begin{gathered}
\quad
\SelectTips{cm}{} \xymatrix@C=4.5em@R=4.5em{ A
\ar@<-1ex>@{=>}[d] _-{(3)}\ar@<1ex>@{=>}[r]^-{(1)} & B
\ar@<1ex>@{=>}|{{\object@{/}}}[l]^-{(2)} \\
C \ar@<1ex>@{=>}[r] \ar@<-1ex>@{=>}[u] |{\object@{/}}|{}_-{\;(4)} & D
\ar@<1ex>@{=>}[l] \ar@<-1ex>@{=>}[u]_{\;(5)} }
\end{gathered}
\end{equation*}
\end{document}
答案1
@L=dimen
您可以通过在 后添加 来全局修改标签的间距\xymatrix
。在这种情况下,删除\;
您在代码中插入的所有额外空格。例如:\documentclass{amsart} \usepackage{graphicx} \usepackage[all]{xy} \begin{document} \begin{equation*} \quad \SelectTips{cm}{} \xymatrix@L=6pt@C=4.5em@R=4.5em{ A \ar@<-1ex>@{=>}[d] _-{(3)}\ar@<1ex>@{=>}[r]^-{(1)} & B \ar@<1ex>@{=>}|{{\object@{/}}}[l]^-{(2)} \\ C \ar@<1ex>@{=>}[r] \ar@<-1ex>@{=>}[u] |{\object@{/}}|{}_-{(4)} & D \ar@<1ex>@{=>}[l] \ar@<-1ex>@{=>}[u]_{(5)} } \end{equation*} \end{document}
您可以将单个标签视为对象来修改其间距,即用 替换
^{...}
。^*modifiers{...}
在您的例子中,您将需要修饰符+<dimen>
,因此请^-{(2)}
用类似 的内容替换^*+<1em>{^{(2)}}
并1em
根据您的需要进行调整。 例如:\documentclass{amsart} \usepackage{graphicx} \usepackage[all]{xy} \begin{document} \begin{equation*} \quad \SelectTips{cm}{} \xymatrix@C=4.5em@R=4.5em{ A \ar@<-1ex>@{=>}[d] _-{(3)}\ar@<1ex>@{=>}[r]^-{(1)} & B \ar@<1ex>@{=>}|{{\object@{/}}}[l]^*+<1em>{^{(2)}} \\ C \ar@<1ex>@{=>}[r] \ar@<-1ex>@{=>}[u] |{\object@{/}}|{}_-{\;(4)} & D \ar@<1ex>@{=>}[l] \ar@<-1ex>@{=>}[u]_-{\;(5)} } \end{equation*} \end{document}
答案2
可以使用该键@L=dimen
更改标签的默认边距(请参阅这里)。我相信,删除手动添加的空格并添加@L=1.25ex
大致可以达到您想要的结果。
但是,您可以根据需要更改尺寸。
\documentclass{amsart}
\usepackage{graphicx}
\usepackage[all]{xypic}
\begin{document}
\begin{equation*}
\begin{gathered}
\quad
\SelectTips{cm}{} \xymatrix@C=4.5em@R=4.5em@L=1.25ex{ A
\ar@<-1ex>@{=>}[d] _-{(3)}\ar@<1ex>@{=>}[r]^-{(1)} & B
\ar@<1ex>@{=>}|{{\object@{/}}}[l]^{(2)} \\
C \ar@<1ex>@{=>}[r] \ar@<-1ex>@{=>}[u] |{\object@{/}}|{}_-{(4)} & D
\ar@<1ex>@{=>}[l] \ar@<-1ex>@{=>}[u]_{(5)} }
\end{gathered}
\end{equation*}
\end{document}
答案3
通过另一种方法怎么样Tikz-cd
?看起来很有希望。
箭头距离可以通过xshift=<dim>
和改变yshift=<dim>
。
可以通过 来改变节点间隙inner sep=<dim>
。
标签距离可以通过 改变node [above, below, right, left=<dim>]{label}
。
代码
\documentclass[margin=10pt]{standalone}
%\usepackage[margin=1cm]{geometry}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=3cm,column sep=3cm,inner sep=3ex]
A \arrow[thick,Rightarrow,yshift=2ex,]{r}[above=0.5cm]{(1)}
\arrow[thick,Leftarrow, xshift=2ex]{d}[description,sloped]{/}[right=0.5cm]{(4)}
& B \arrow[thick,Rightarrow,yshift=-2ex]{l}[below=0.5cm]{(2)}[description]{/} \\
C \arrow[thick,Leftarrow, xshift=-2ex]{u}{(3)}
\arrow[thick,Leftarrow, yshift=2ex]{r}{}
& D \arrow[thick,Leftarrow, yshift=-2ex]{l}{}
\arrow[thick,Rightarrow,xshift=2ex]{u}[right=0.5cm]{(5)}
\end{tikzcd}
\end{document}