# Using newer version of tikz-cd for arXiv submissions

I just realized that arXiv has an older version of tikz-cd. Therefore, using the standard package of tikz-cd and to submit a paper to arxiv seems impossible, if one requires the newer version of tikz-cd in the written code.

A straigtforward question is, how to alleviate this problem? Is it possible to avoid this package to be used by arXiv but rather to use it inside the LaTeX code?

A similar question also appears here but I don't have equal but I have rather other code parts for example gathered or \makebox in the code.

• Providing the license permits it, rename the file and upload the renamed file with your code. – Johannes_B Jan 18 '15 at 19:26
• @Johannes_B excuse me what which licence? I had already ticked this licence "arXiv.org perpetual, non-exclusive license to distribute this article " – Seyhmus Güngören Jan 18 '15 at 19:36
• The license of the Tikz Library, or tikz if the package doesn't come with its own license. – Johannes_B Jan 18 '15 at 19:37
• @Johannes_B Thanks for the comments but I am not able to make use of them. I have the newer version of miktex and I can compile it without any problem. I dont have any idea about the licenses or how I can add them to my document? or should I add a licence to my document? My tex knowledge is very basic. – Seyhmus Güngören Jan 18 '15 at 19:43
• Is creating an image an including it with \includegraphics an option? – cfr Jan 19 '15 at 3:06

As of this writing, the arxiv still uses texlive 2011. For me, at least, the only viable option is to take @cfr's suggestion, and make the diagram in a standalone document, then include it back in the original with \includegraphics. Details of the following might not be the best way to do it, but it works for me. Here's the standalone commutative-diagram.tex:

\documentclass[tikz, preview]{standalone}
\usepackage{amsmath,amssymb,amsfonts}
% any other macros or packages that might affect the diagram
\usepackage{tikz-cd}
\begin{document}
$$\begin{tikzcd} P \arrow[d, "a"] \arrow[rd, "b"] & \\ S^3 \arrow[r, "c"] & S^2 \end{tikzcd}$$
\end{document}


[Note that I think the equation environment is not strictly necessary, but I like to keep it, in case I do something weird.] I process that on its own with pdflatex. Then in the main document, I just have

$$\label{eq:commutative-diagram} \raisebox{-0.5\height}{\includegraphics{commutative-diagram}}$$


That \raisebox part makes sure the label is aligned with the center, as suggested here.

It's an ugly and annoying solution, but it works.

The package is under the free GNU license. So you are golden on that side.

You need to locate the file tikzlibrarycd.code.tex, rename it to tikzlibrarySeyhmus.code.tex and load it in your document. Of course you need to upload the renamed file as well.

Instead of loading tikz-cd do the following:

\usepackage{tikz}[2013/12/13]
\usetikzlibrary{Seyhmus}


But since tikz-cd needs pgf version 3 to run, and arXiv is still with version 2.1, this is bound to fail. Depending on the arXiv workflow, this can also break the stuff of other authors. So be careful.

• @svend Wow, so many typos. Thanks :-) – Johannes_B Jan 18 '15 at 19:58
• where is that file? and I think I will skip \usepackage{tikz-cd} right? – Seyhmus Güngören Jan 18 '15 at 19:59
• You haven't revealed anything about your system, so »Don't know« is the only thing i can respond to that. I bet your favourite file manager (like microsoft explorer) can search for the file. – Johannes_B Jan 18 '15 at 20:01
• I did as you said and without tikz-cd I was able to compile on my machine. Then I tried to upload the document to arxiv once again and here is the error: LaTeX Warning: You have requested, on input line 11, version 2013/12/13' of package tikz, but only version 2010/10/13 v2.10 (rcs-revision 1.76)' is available. – Seyhmus Güngören Jan 18 '15 at 20:21
• @SeyhmusGüngören This is exactly what Johannes_B told you would happen. I think, however, that Johannes_B probably meant to suggest commenting the bracket with the date to see if it works. However, if you really need the newer version because of underlying changes in the TiKZ code, you will be out of luck. That is, if the newer library really needs that version of TiKZ (it means what it says), then it is not going to work with an older version of TiKZ. Frankly, it will be surprising if it works with a version from 2010 - a lot has changed. – cfr Jan 19 '15 at 3:04

The following variation of the solution by Mike finally worked for me (Ubuntu 16.04):

find /usr/share/texlive/texmf-dist/tex/generic/pgf/ -type f -exec cp {} pgftikz/ \;


One also needs:

/usr/share/texlive/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty
/usr/share/texlive/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex

• You say "one also needs tikz-cd.sty" and then supply a lengthy path for tikzlibrarycd.code.tex. Where does the former reside then? – Werner Nov 28 '16 at 18:29