\% symbol leads to superlong (forever?) compilations

You can make this work by changing the % character to not be the comment character anymore using \catcode:

\documentclass[tikz]{standalone}
\usetikzlibrary{bending,decorations.text}
\begin{document}
\begin{tikzpicture}
\sffamily
\node (a) at (-2,0) {probability};
\node[align=center] (b) at (2,0) {percent\\change};
\begin{scope}
\catcode`\%=12
\draw[-latex,postaction={decorate,decoration={raise=1ex,text along path,text
align=center,text={multiply by 100%}}}] (a) to[out=60,in=120] (b);
\end{scope}
\end{tikzpicture}
\end{document}

You only need to wrap \% into {...}.

\documentclass[tikz]{standalone}
\usetikzlibrary{bending,decorations.text}
\begin{document}
\begin{tikzpicture}
\sffamily
\node (a) at (-2,0) {probability};
\node[align=center] (b) at (2,0) {percent\\change};
\draw[-latex,postaction={decorate,decoration={raise=1ex,text along path,text
align=center,text={multiply by 100{\%}}}}] (a) to[out=60,in=120] (b);
\end{tikzpicture}
\end{document}

enter image description here

Tags:

Tikz Pgf