% 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,3400.00)%
    \gplgaddtomacro\gplbacktext{%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,612){\makebox(0,0)[r]{\strut{}$-0.9$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,1044){\makebox(0,0)[r]{\strut{}$-0.8$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,1476){\makebox(0,0)[r]{\strut{}$-0.7$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,1908){\makebox(0,0)[r]{\strut{}$-0.6$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,2340){\makebox(0,0)[r]{\strut{}$-0.5$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,2772){\makebox(0,0)[r]{\strut{}$-0.4$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(714,3204){\makebox(0,0)[r]{\strut{}$-0.3$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(864,385){\makebox(0,0){\strut{}$2$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(1588,385){\makebox(0,0){\strut{}$2.5$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(2312,385){\makebox(0,0){\strut{}$3$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(3037,385){\makebox(0,0){\strut{}$3.5$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(3761,385){\makebox(0,0){\strut{}$4$}}%
      \colorrgb{0.50,0.50,0.50}%%
      \put(4485,385){\makebox(0,0){\strut{}$4.5$}}%
    }%
    \gplgaddtomacro\gplfronttext{%
      \csname LTb\endcsname%%
      \put(161,1908){\rotatebox{-270}{\makebox(0,0){\strut{}$\log(\langle |m|^\text{c} \rangle)$}}}%
      \csname LTb\endcsname%%
      \put(2674,123){\makebox(0,0){\strut{}$\log(L)$}}%
      \csname LTb\endcsname%%
      \put(3729,2959){\makebox(0,0)[r]{\strut{}$c_V$}}%
      \csname LTb\endcsname%%
      \put(3729,2609){\makebox(0,0)[r]{\strut{}$\chi$}}%
    }%
    \gplbacktext
    \put(0,0){\includegraphics[width={240.00bp},height={170.00bp}]{beta}}%
    \gplfronttext
  \end{picture}%
\endgroup
