astoff / tikz-cd

Commutative diagrams with TikZ
46 stars 3 forks source link

incompatibility with the tikz library `external` #16

Open jonas-frey opened 1 year ago

jonas-frey commented 1 year ago

Is there a reason that tikz-cd is incompatible with the tikz library external? I think it would be really helpful if one could buffer compiled diagrams to improve recompilation times, similar to xypic's \CompileMatrices.

astoff commented 1 year ago

I guess the reason is exactly the one explained in first answer to the stackexchange question. Perhaps in the 9 years since it was written, a better solution to this issue is available. I haven't tried.

Probably the most/only reasonable solution would be to extend the externalization library to allow custom environment names. It seems that the search for \begin{tikzpicture} ... \end{tikzpicture} is hard-coded.

Qrrbrbirlbel commented 3 months ago

I've proposed a solution in A665688 which adjusts the tikzcd environment so it is allowed inside a tikzpicture environment without creating its own TikZ picture. (This would also allow more than one CDs in one TikZ picture.) This puts the tikzcd environment on the same level of PGFPlots' axis environment.

Somewhere on their Github, a member of the PGF/TikZ team mentions that the external library is bugged and will not get fixed soon, if at all. Nowadays, the memoize package is a much more versatile tool. It's a beast on its own (the manual has over 130 pages) but in most cases it should be simple to use (see the other answer in my link).