# 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 Jun 29, 2012 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}
$\xymatrix@C=10pt{ & & \cdot \ar[drr]^{*} \ar[dll]_{*} & & \\ \cdot \ar@{.>}[dr]_{*} & & & & \cdot \ar@{.>}[dl]^{*}\\ & \cdot \ar@{~}[rr]-<3pt,0pt>{} & & \cdot & }$

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