Might I suggest that you look at diagxy (available on CTAN as well as at ftp.math.mcgill.ca/pub/barr/diagxy.zip). Although you have to work out the proper arrow lengths, you get complete freedom to do so and there is at least one macro for making simple squares that works out the arrow length automatically. Michael Barr