1

I have been trying to include the TikZ pie chart example from here to a Finnish language TeX-document. However, I get the error

! Argument of \language@active@arg" has an extra }.<inserted text>\par }.

After some googling, I figured out that it probably has something to do with TikZ and babel, but the solutions typically suggested for other languages (e.g. here) don't work.

The following TeX-code will reproduce the bug

\documentclass[tikz,border=10pt]{standalone}
% Removing these two \usepackage statements will eliminate the error
\usepackage[finnish]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
\def\angle{0}
\def\radius{3}
\def\cyclelist{{"orange","blue","red","green"}}
\newcount\cyclecount \cyclecount=-1
\newcount\ind \ind=-1
\begin{tikzpicture}[nodes = {font=\sffamily}]
  \foreach \percent/\name in {
      46.6/Chrome,
      24.6/Internet Explorer,
      20.4/Firefox,
      5.1/Safari,
      1.3/Opera,
      2.0/Other
    } {
      \ifx\percent\empty\else               % If \percent is empty, donothing
    \global\advance\cyclecount by 1     % Advance cyclecount
    \global\advance\ind by 1            % Advance list index
    \ifnum3<\cyclecount                 % If cyclecount is larger than list
      \global\cyclecount=0              %   reset cyclecount and
      \global\ind=0                     %   reset list index
    \fi
    \pgfmathparse{\cyclelist[\the\ind]} % Get color from cycle list
    \edef\color{\pgfmathresult}         %   and store as \color
    % Draw angle and set labels
    \draw[fill={\color!50},draw={\color}] (0,0) -- (\angle:\radius)
      arc (\angle:\angle+\percent*3.6:\radius) -- cycle;
    \node at (\angle+0.5*\percent*3.6:0.7*\radius) {\percent\,\%};
    \node[pin=\angle+0.5*\percent*3.6:\name]
      at (\angle+0.5*\percent*3.6:\radius) {};
    \pgfmathparse{\angle+\percent*3.6}  % Advance angle
    \xdef\angle{\pgfmathresult}         %   and store in \angle
  \fi
};
\end{tikzpicture}
\end{document}
  • 1
    You should deactivate the " before defining your cyclelist: \shorthandoff{"} \def\cyclelist{{"orange","blue","red","green"}} \shorthandon{"}. – Ulrike Fischer Dec 09 '15 at 13:23
  • Thank you @UlrikeFischer for the solution! I thought it had something to do with the shorthand, but couldn't figure out where/how to place it. – Joel Lehikoinen Dec 09 '15 at 13:36

1 Answers1

1

The correct answer was posted by Ulrike Fischer as a comment to the original post:

You should deactivate the " before defining your cyclelist: \shorthandoff{"} \def\cyclelist{{"orange","blue","red","green"}} \shorthandon{"}