# How does one typeset a pretty, squiggly arrow in xymatrix

I am LaTeX-ing some diagrams in rewriting theory where the rules are modulo a set of equations. Canonically, a ~-like symbol is used to denote equivalence. I have been using \ar@{~}. Here is an example

$\xymatrix@C=10pt{ & & \cdot \ar[drr]^{*} \ar[dll]_{*} & & \\ \cdot \ar@{.>}[dr]_{*} & & & & \cdot \ar@{.>}[dl]^{*}\\ & \cdot \ar@{~}[rr] & & \cdot & }$


If the above is compiled it looks, well, aesthetically unpleasing. I can't exactly put my finger on it, but it looks crooked. I think it has to do with the fact that the curved line begins and ends at different heights. Does anyone have a recommendation for how to get around such issues.

-
What about changing the distance between cols? Change the 10pt – Sigur Jun 29 '12 at 21:15

You can make some fine adjustment the length of an "arrow" (here a squiggly line) by following the hop, here [rr], by an expression of the form -<7pt,0pt>{X}, which would extend the line to the center of the target node minus the given vector, and place the symbol {X} there. In your case you can spcify an empty symbol via {}, and the modification below is obtained using -<3pt,0pt>{}. Adjust the parameters to get the appearance you wish.

\documentclass{article}

\usepackage[all]{xy}

\begin{document}
$\xymatrix@C=10pt{ & & \cdot \ar[drr]^{*} \ar[dll]_{*} & & \\ \cdot \ar@{.>}[dr]_{*} & & & & \cdot \ar@{.>}[dl]^{*}\\ & \cdot \ar@{~}[rr]-<3pt,0pt>{} & & \cdot & }$
\end{document}


Similarly a \save[]+<vector>{} \ar... \restore construction will allow you to adjust the starting point.

-