I was about to post under support, and then I realized I was making a feature request that I *almost* know how to accomplish.
I was happy to see the announcement this morning on commutative diagrams, but realized that it won't support everything I need.
The trouble is that the ams cd package does not support curved arrows, and I have some diagrams in LaTeX that I want to port over to PreTeXt that have arrows.
Most of my old commutative diagrams were done using the 'xy' package (xypic) and the xymatrix environment.
But I couldn't quite figure it out, and that particular thread fell off as everyone got busy.
(The problem there is that xy isn't natively supported in MathJax and there's some difficulty loading it due to naming mis-matches in packages between LaTeX and MathJax.)
An alternative to xypic with very similar syntax is tikzcd. This can be used with \usepackage{tikz-cd}, or with
\usepackage{tikz}
\usetikzlibrary{cd}
Pros and cons vs: xypic:
Con: uses TikZ, so image processing required.
Pro: uses TikZ, so no need to worry about MathJax.
You can draw your diagram and then export the code.
Con: diagrams are included as images, so you have to tinker with width settings, especially if you want fonts in the diagram to match fonts in the text.
The only problem is that the environment is tikzcd (\begin{tikzcd}...\end{tikzcd}) instead of tikzpicture.
Somewhere in the XSL I believe the appearance of \begin{tikzpicture} triggers the inclusion of the tikz package in the .tex file that is used to compile the image.
This doesn't get triggered with tikzcd.
If I put \usepackage{tikz} and \usetikzlibrary{cd} (or \usepackage{tikz-cd}) in the latex-image-preamble, I can build everything with MBX.
But if we have tikzcd and tikzimage in the same document, we probably don't want to load tikz there, right?
So what is best practice?
(a) figure out what to change in the XSL to load tikz when tikzcd is encountered, and put \usetikzlibrary{cd} in the image preamble, or
(b) put \usepackage{tikz-cd} in the image preamable
Option (b) gets the job done for a MWE, but could it conflict in larger projects?