[Xy-pic] xy-matrix and xy-pic
Ross Moore
ross.moore at mq.edu.au
Mon May 7 00:11:41 CEST 2012
Hello Vasco,
On 05/05/2012, at 11:28 PM, Vasco Visser wrote:
> Hi Ross,
>
> Thanks a lot for your elaborate reply. I think that I am now able to
> create what I need.
>
> There are a few "exotic" things I would like to have. For example I am
> thinking of a custom arrow that is a double line arrow with a tip on
> one side on the upper line and a tip on the other side on the bottom
> line, the two lines should also cross each other halfway; somewhat
> like the shuffle symbol on media players.
This gives pretty much what you describe.
It requires creating some new directionals, based upon what
Xy-pic already provides, and a little knowledge of the internals.
Also, some playing around with the numbers was required, to get
it looking quite good.
It requires using double-lines that are a bit further apart
(by a factor of 1.8) than what Xy-pic usually uses, hence the
new directional \dir{1.8=} and the \xydefcsname2 which
defines it, and the \xyletcsnamecsname@ which allows
the short-cut to map to the definition.
>>> \newdir{_^>}{{}*!/^-0.6\jot/\dir^{>}*!/_-0.6\jot/\dir_{>}}
>>> \newdir{xx}{{}*=<1.2mm>[o]\dir{x}}
>>>
>>> \makeatletter
>>> \xydefcsname@{dir1.8{=}}{\line@ \double@{1.8\xydashh@}}
>>> \xyletcsnamecsname@{dir{1.8=}}{dir1.8{=}}
>>> \makeatother
>>>
>>>
>>> \begin{displaymath}
>>> \xymatrix at R+1pc @C+1pc{
>>> *++{A}
>>> \ar@{{_^>}{1.8=}{_^>}}[r]|-*@{xx}
>>> \ar@{{_^>}{1.8=}{_^>}}[d] |-*@{xx}
>>> \ar@{{_^>}{1.8=}{_^>}}[dr] |-*@{xx}
>>> & {C} \ar@{->}[d]
>>> \\
>>> {B} & {D}
>>> }
>>> \end{displaymath}
>>>
>>> \begin{displaymath}
>>> \UseTips %{ams}
>>> \xymatrix at R+1pc @C+1pc{
>>> *++{A}
>>> \ar@{{_^>}{1.8=}{_^>}}[r]|-*@{xx}
>>> \ar@{{_^>}{1.8=}{_^>}}[d] |-*@{xx}
>>> \ar@{{_^>}{1.8=}{_^>}}[dr] |-*@{xx}
>>> & {C} \ar@{->}[d]
>>> \\
>>> {B} & {D}
>>> }
>>> \end{displaymath}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: texshop_image.jpeg
Type: image/jpeg
Size: 66864 bytes
Desc: not available
URL: <http://tug.org/pipermail/xy-pic/attachments/20120507/7659dfb9/attachment-0001.jpeg>
-------------- next part --------------
The cross-over (using \dir{xx} ) is placed just like any
other break in an arrow. It is really just a \dir{x} but with
some space allocated to put a gap in the arrow.
>
> Can you give me any pointers on creating a custom arrow type like this?
The harpoons don't quite match the line-ends on the diagonal
arrows. That may be a subtle bug in Xy-pic, not noticed before.
It happens also without xypdf .
Kris ??
By studying the coding of the \dir{=} directional,
you could make the double lines a bit farther apart, then
make the harpoons fit this extra width.
>
> Thanks again for your help. And, I must says that despite the learning
> curve that might be considered a little bit steep, Xy-pic is a really
> awesome typesetting tool! I already made some very nice diagrams with
> it.
>
> P.S. I came across a situation where a diagram wouldn't compile due to
> the line style of an arrow being '.'. Changing the line style to '-'
> made that it could compile. I think this might be a bug. I can't
> reproduce in a simple diagram, should I nevertheless file a bug report
> somewhere?
>
> Regards,
>
> Vasco
Hope this helps,
Ross
------------------------------------------------------------------------
Ross Moore ross.moore at mq.edu.au
Mathematics Department office: E7A-419
Macquarie University tel: +61 (0)2 9850 8955
Sydney, Australia 2109 fax: +61 (0)2 9850 8114
------------------------------------------------------------------------
More information about the xy-pic
mailing list