11
$\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$
6
  • $\begingroup$ I use the xymatrix package (tutorial by Milne here). It's very well-behaved. $\endgroup$
    – user98602
    Jun 11, 2014 at 2:48
  • 1
    $\begingroup$ @MikeMiller: Can you use it on MSE? $\endgroup$ Jun 11, 2014 at 2:48
  • $\begingroup$ No idea! Never tried. Let me test. $\endgroup$
    – user98602
    Jun 11, 2014 at 2:48
  • $\begingroup$ Update: nope!${}$ $\endgroup$
    – user98602
    Jun 11, 2014 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, 2014 at 6:03
  • 1
    $\begingroup$ ProofWiki uses the XyJax extension for MathJax. Unfortunately, it appears to be out of active maintenance. $\endgroup$ Aug 2, 2017 at 12:13

1 Answer 1

6
$\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 .