I've recently changed operating systems (from Ubuntu 14.04 to Fedora 22) and this means in particular that I now have a newer version of the pgf package. To be precise, it is this version: texlive-pgf-svn33057.3.0.0-8.fc22.noarch (and \pgfversion shows 3.00), while my Ubuntu had \pgfversion 2.10. Compiling my older papers, I keep encountering the following:
(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65
.sty)
(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18
.sty)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex))
(/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex))
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)))
(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
(/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers
.code.tex
! Undefined control sequence.
l.24 \pgfdeclareplothandler
{\pgfplothandlercurveto}{}{%
? X
No pages of output.
Transcript written on subjective-logic.log.
I tried to find documentation on this error, but I haven't found any that actually relate to this particular control sequence. First I thought a package was just missing, but I've tried to install all available texlive-tikz packages and pgf-related packages, and also removing all except for texlive-pgf, but none of this seems to help. Using rpm -qf, I determined that the file mentioned above is indeed part of the texlive-pgf package. A colleague of mine, who is also running Fedora 22, can compile the same documents without issues. I'm not really sure how to narrow down this problem any further. I did try to create a minimal example; I took this and narrowed it down to this code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\node[main node] (1) {1};
\path[every node/.style={font=\sffamily\small}]
edge [loop above] node {0.1} (1);
\end{tikzpicture}
\end{document}
I did do a quick search to see whether I could find where pgflibraryplothandlers should be defined, which gave me the following output:
$grep -r 'pgflibraryplothandlers' /usr/share/texlive/
/usr/share/texlive/texlive.tlpdb: RELOC/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex
/usr/share/texlive/texlive.tlpdb: RELOC/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
/usr/share/texlive/texlive.tlpdb: RELOC/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty
/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex:\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplothandlers.code.tex,v 1.20 2013/08/31 13:02:59 ludewich Exp $
/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex:% More handlers are defined in pgflibraryplothandlers
/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty:\input{pgflibraryplothandlers.code.tex}
/usr/share/texlive/texmf-dist/ls-R:pgflibraryplothandlers.code.tex
/usr/share/texlive/texmf-dist/ls-R:pgflibraryplothandlers.sty
Could it be that something changed in the way TeX searches for files, and that my stuff in ~/texmf is causing problems?
plothandlerwas also a library in TikZ 2.10 if I remember correctly. I think subfolders are not mapped and TikZ v3 is searching the libraries in the TikZ 2.10 path. – percusse Aug 14 '15 at 10:17~/texmffolder. Thanks! – Rens van der Heijden Aug 14 '15 at 10:24