8
$\begingroup$

I have read the question How to draw a commutative diagram? but as far as I'm aware, the amscd package doesn't have a way to draw diagonal arrows. Is there some other package we can use to draw commutative diagrams with diagonal arrows?

$\endgroup$
  • $\begingroup$ I use the xymatrix package (tutorial by Milne here). It's very well-behaved. $\endgroup$ – user98602 Jun 11 '14 at 2:48
  • $\begingroup$ @MikeMiller: Can you use it on MSE? $\endgroup$ – Michael Albanese Jun 11 '14 at 2:48
  • $\begingroup$ No idea! Never tried. Let me test. $\endgroup$ – user98602 Jun 11 '14 at 2:48
  • $\begingroup$ Update: nope!${}$ $\endgroup$ – user98602 Jun 11 '14 at 2:58
  • 2
    $\begingroup$ Have you seen Zev's answer to that question? It's best one can do at the moment, I'm afraid... $\endgroup$ – Grigory M Jun 11 '14 at 6:03
  • $\begingroup$ ProofWiki uses the XyJax extension for MathJax. Unfortunately, it appears to be out of active maintenance. $\endgroup$ – punctured dusk Aug 2 '17 at 12:13
5
$\begingroup$

Currently this is not possible in MathJax. Davide Cervone explained:

[AMScd] syntax is limited, so is readily handled, and it can be represented naturally in MathML, the format that underlies MathJax. Something like xypic has a much more extensive syntax, and does not fit naturally into the MathML language, so is much harder to implement in MathJax (there is an XyJax project that does implement it through SVG, and it is impressive). Arbitrary diagonal and arc arrows are not easily represented in MathML, and so need an implementation outside of MathML.

It is not easy to do diagonal or arc arrows in TeX, either, and I think xypic uses postscript tricks to handle these things. MathJax would need to use something like SVG to do the same. While possible, it is not straight forward, and there is no MathML support for it, so it would have to be through internal extensions to MathML. I've kept that to a minimum

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .