% GNUPLOT: LaTeX picture with Postscript
\begingroup
  \makeatletter
  \providecommand\color[2][]{%
    \GenericError{(gnuplot) \space\space\space\@spaces}{%
      Package color not loaded in conjunction with
      terminal option `colourtext'%
    }{See the gnuplot documentation for explanation.%
    }{Either use 'blacktext' in gnuplot or load the package
      color.sty in LaTeX.}%
    \renewcommand\color[2][]{}%
  }%
  \providecommand\includegraphics[2][]{%
    \GenericError{(gnuplot) \space\space\space\@spaces}{%
      Package graphicx or graphics not loaded%
    }{See the gnuplot documentation for explanation.%
    }{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
    \renewcommand\includegraphics[2][]{}%
  }%
  \providecommand\rotatebox[2]{#2}%
  \@ifundefined{ifGPcolor}{%
    \newif\ifGPcolor
    \GPcolortrue
  }{}%
  \@ifundefined{ifGPblacktext}{%
    \newif\ifGPblacktext
    \GPblacktexttrue
  }{}%
  % define a \g@addto@macro without @ in the name:
  \let\gplgaddtomacro\g@addto@macro
  % define empty templates for all commands taking text:
  \gdef\gplbacktext{}%
  \gdef\gplfronttext{}%
  \makeatother
  \ifGPblacktext
    % no textcolor at all
    \def\colorrgb#1{}%
    \def\colorgray#1{}%
  \else
    % gray or color?
    \ifGPcolor
      \def\colorrgb#1{\color[rgb]{#1}}%
      \def\colorgray#1{\color[gray]{#1}}%
      \expandafter\def\csname LTw\endcsname{\color{white}}%
      \expandafter\def\csname LTb\endcsname{\color{black}}%
      \expandafter\def\csname LTa\endcsname{\color{black}}%
      \expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
      \expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
      \expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
      \expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
      \expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
      \expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
      \expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
      \expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
      \expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
    \else
      % gray
      \def\colorrgb#1{\color{black}}%
      \def\colorgray#1{\color[gray]{#1}}%
      \expandafter\def\csname LTw\endcsname{\color{white}}%
      \expandafter\def\csname LTb\endcsname{\color{black}}%
      \expandafter\def\csname LTa\endcsname{\color{black}}%
      \expandafter\def\csname LT0\endcsname{\color{black}}%
      \expandafter\def\csname LT1\endcsname{\color{black}}%
      \expandafter\def\csname LT2\endcsname{\color{black}}%
      \expandafter\def\csname LT3\endcsname{\color{black}}%
      \expandafter\def\csname LT4\endcsname{\color{black}}%
      \expandafter\def\csname LT5\endcsname{\color{black}}%
      \expandafter\def\csname LT6\endcsname{\color{black}}%
      \expandafter\def\csname LT7\endcsname{\color{black}}%
      \expandafter\def\csname LT8\endcsname{\color{black}}%
    \fi
  \fi
    \setlength{\unitlength}{0.0500bp}%
    \ifx\gptboxheight\undefined%
      \newlength{\gptboxheight}%
      \newlength{\gptboxwidth}%
      \newsavebox{\gptboxtext}%
    \fi%
    \setlength{\fboxrule}{0.5pt}%
    \setlength{\fboxsep}{1pt}%
    \definecolor{tbcol}{rgb}{1,1,1}%
\begin{picture}(4800.00,4800.00)%
    \gplgaddtomacro\gplbacktext{%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,612){\makebox(0,0)[r]{\strut{}$0$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,1111){\makebox(0,0)[r]{\strut{}$0.01$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,1610){\makebox(0,0)[r]{\strut{}$0.02$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,2109){\makebox(0,0)[r]{\strut{}$0.03$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,2608){\makebox(0,0)[r]{\strut{}$0.04$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,3107){\makebox(0,0)[r]{\strut{}$0.05$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,3606){\makebox(0,0)[r]{\strut{}$0.06$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,4105){\makebox(0,0)[r]{\strut{}$0.07$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,4604){\makebox(0,0)[r]{\strut{}$0.08$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(864,385){\makebox(0,0){\strut{}$-20$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(1226,385){\makebox(0,0){\strut{}$-15$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(1588,385){\makebox(0,0){\strut{}$-10$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(1950,385){\makebox(0,0){\strut{}$-5$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(2312,385){\makebox(0,0){\strut{}$0$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(2675,385){\makebox(0,0){\strut{}$5$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(3037,385){\makebox(0,0){\strut{}$10$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(3399,385){\makebox(0,0){\strut{}$15$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(3761,385){\makebox(0,0){\strut{}$20$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(4123,385){\makebox(0,0){\strut{}$25$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(4485,385){\makebox(0,0){\strut{}$30$}}%
    }%
    \gplgaddtomacro\gplfronttext{%
      \csname LTb\endcsname%%
      \put(161,2608){\rotatebox{-270}{\makebox(0,0){\strut{}$\chi/L^{\gamma/\nu}$}}}%
      \csname LTb\endcsname%%
      \put(2674,123){\makebox(0,0){\strut{}$L^{1/\nu} t$}}%
      \csname LTb\endcsname%%
      \put(3729,4389){\makebox(0,0)[r]{\strut{}L = 8}}%
      \csname LTb\endcsname%%
      \put(3729,4099){\makebox(0,0)[r]{\strut{}L = 16}}%
      \csname LTb\endcsname%%
      \put(3729,3809){\makebox(0,0)[r]{\strut{}L = 32}}%
      \csname LTb\endcsname%%
      \put(3729,3519){\makebox(0,0)[r]{\strut{}L = 64}}%
    }%
    \gplbacktext
    \put(0,0){\includegraphics[width={240.00bp},height={240.00bp}]{susceptibilitat_magnetica_fss}}%
    \gplfronttext
  \end{picture}%
\endgroup
