我怎样才能改变双单元格的样式?

我怎样才能改变双单元格的样式?

如何更改两单元格的样式?请看以下简单示例:

\documentclass{article}
\usepackage[all,cmtip,2cell]{xy}
\UseTwocells

\begin{document}

$\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\end{document}

图表中间会有一个向下的双箭头。我该如何改变它的样式?比如说,变成锯齿形箭头。我的意思是,如果它是 xypic 中的普通箭头,我会像这样改变它的样式:\ar@{~}[d]

答案1

箭头通过 进行更改\arrowobject。默认情况下,这是\dir{=>}=>中定义xy2cell.tex

\newdir{=>}{!/5pt/\dir{=}!/2.5pt/\dir{=}*!/-5pt/\dir2{>}}

你可以用类似这样的代码制作一个波浪箭头

\newdir{~>}{!/2.5pt/\dir{~}*!/-5pt/\dir2{>}}

并将其用作

$\arrowobject{\dir{~>}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

示例输出

\documentclass{article}
\usepackage[all,cmtip,2cell]{xy}
\UseTwocells

\newdir{~>}{!/2.5pt/\dir{~}*!/-5pt/\dir2{>}}

\begin{document}

$\arrowobject{\dir{~>}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\end{document}

更多详细信息请参阅参考手册,网址xyrefer.pdftexdoc xyrefer

对于没有箭头的连接,可以使用以下之一

第二个示例

$\arrowobject{\dir{~}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\newdir{l~}{!/3.5pt/\dir{~}*!/-3.5pt/\dir{~}}
$\arrowobject{\dir{l~}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\newdir由 分隔的单元组成的复合对象*。单元!/3.5t/\dir{~}接收尖端并沿路径~滑动(返回)。3.5pt

答案2

我知道这个问题具体问的是2cell,但这是你使用更现代的方法来实现的tikz-cd包;波浪线是使用库snake中的装饰生成的decorations.pathmorphing

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathmorphing}

\tikzset{no tip/.style={arrows=-}}

\begin{document}

\begin{tikzcd}
C \ar[r, bend left=50, ""{name=U, below}]
\ar[r, bend right=50, ""{name=D}]
& D
\ar[decorate, decoration={snake},from=U, to=D,no tip]
\end{tikzcd}

\end{document}

在此处输入图片描述

相关内容