Hier mal eine **Nur-Tikz** Lösung. Sie kommt mit elementaren Mitteln aus und die Rechendauer hält sich, bei nicht zu großem N, in Grenzen:
![alt text][1]
![alt text][2]
    \documentclass[margin=2.5mm]{standalone}
    \usepackage{tikz}
     \usetikzlibrary{fpu}
    %Funktion definieren
    \def\N{3}                  % obere Summationsgrenze
    \def\x{\noexpand\x}   % \x nicht ändern in \edef
    \edef\Gibbs{0}            % Gibbs_0 = S_0 := 0
    \edef\Mm{-1}              % M_0 :=-1; M_(m+1) = M_m + 2 bzw. M_m = 2m-1  
    \foreach \m in {1,...,\N} {%     %Summe von 1 bis N
        \global\edef\Mm{\Mm+2}    % M_(m+1) = M_m + 2;
        \global\edef\Gibbs{
        \Gibbs  + (4*sin(((\Mm)*pi*\x)  r)/(pi*(\Mm)) }    
    }%
    %========
    \begin{document}
    %========
    \begin{tikzpicture}[>=latex, font=\tiny]
    %\node[] at (0,0) {\Mm};        % Zur Kontrolle 
    %\node[] at (0,-1){\Gibbs};     % der Berechnung
    %    \draw[help lines] (-2,-1.25) grid (2,1.0);
    %Achsen Zeichnen
    \draw[->] (-2.25,0) -- (2.25,0) node[below] {\footnotesize$x$};
    \draw[->] (0,-1.75) -- (0,1.75) node[left] {\footnotesize$y$};
     % Achsen beschriften
    \foreach \x in {-2,-1.5,...,-0.5,0.5,1,...,2}
    \draw (\x,-1pt) -- (\x,1pt) node[below=2pt] {$\x$};
    \foreach \y in {-1.5,-1,-0.5, 0.5,1,1.5}
    \draw (-1pt,\y) -- (1pt,\y) node[left=2pt] {$\y$};
       \node[below right]{$\scriptstyle0$};
    %Funktion zeichnen
      \draw[color=blue,  domain=-2.1:2.1, samples=201]    plot /pgf/fpu, /pgf/fpu/output format=fixed]    plot[domain=-2.1:2.1, samples=201, smooth] (\x, {\Gibbs});
    \node at (1.0,1.5) {$N=\N$};
    \end{tikzpicture}
    %========
    \end{document}
    %========
**€dit: 
Wegen der Zusatzfrage, nach der "Platzierung", eine kleine Ergänzung:**
    \documentclass[a4paper]{article}
    \usepackage{tikz}
    
  \usetikzlibrary{fpu}
    
    \newcommand{\PlotGibbs}[1]{%%%%%%%%%%%
    %Funktion definieren
    \def\N{#1}                  % obere Summationsgrenze
    \def\x{\noexpand\x}   % \x nicht ändern in \edef
    \edef\Gibbs{0}            % Gibbs_0 = S_0 := 0
    \edef\Mm{-1}              % M_0 :=-1; M_(m+1) = M_m + 2 bzw. M_m = 2m-1  
    \foreach \m in {1,...,\N} {%     %Summe von 1 bis N
        \global\edef\Mm{\Mm+2}    % M_(m+1) = M_m + 2;
        \global\edef\Gibbs{
        \Gibbs  + (4*sin(((\Mm)*pi*\x)  r)/(pi*(\Mm)) }    
    }%
    
    \begin{tikzpicture}[>=latex, font=\tiny]
    %\node[] at (0,0) {\Mm};        % Zur Kontrolle 
    %\node[] at (0,-1){\Gibbs};     % der Berechnung
    %    \draw[help lines] (-2,-1.25) grid (2,1.0);
    %Achsen Zeichnen
    \draw[->] (-2.25,0) -- (2.25,0) node[below] {\footnotesize$x$};
    \draw[->] (0,-1.75) -- (0,1.75) node[left] {\footnotesize$y$};
     % Achsen beschriften
    \foreach \x in {-2,-1.5,...,-0.5,0.5,1,...,2}
    \draw (\x,-1pt) -- (\x,1pt) node[below=2pt] {$\x$};
    \foreach \y in {-1.5,-1,-0.5, 0.5,1,1.5}
    \draw (-1pt,\y) -- (1pt,\y) node[left=2pt] {$\y$};
       \node[below right]{$\scriptstyle0$};
    %Funktion zeichnen
      \draw[color=blue,  domain=-2.1:2.1, samples=201]    plot /pgf/fpu, /pgf/fpu/output format=fixed]    plot[domain=-2.1:2.1, samples=201, smooth] (\x, {\Gibbs});
    \node at (1.0,1.5) {$N=\N$};
    \end{tikzpicture}
    }%%%%%%%%%%%%%%%%%%%%%%
    
    %========
    \begin{document}
    %========
    
    Betrachten wir die  F{\"a}lle N = 1, 4 und 7: \\
    \begin{tabular}{clclc} 
    \PlotGibbs{1} & \PlotGibbs{4} \\
    \PlotGibbs{7} &
    \end{tabular}
    %oder ähnlich.....
    
    %========
    \end{document}
    %========
**€dit2: Ich habe noch eine Ergänzung mit der Bibliothek fpu vorgenommen, das erlaubt auch höhere Summationsgrenzen N (ohne fpu nur bis N=22). Damit ist die Lösung nicht mehr, wie angestrebt, 100% elementar; aber, wie gesagt, wenn man keine zu großen N-Werte braucht, kann man das auch weglassen.**
  [1]: http://texwelt.de/wissen/upfiles/aaaaaa22tgf__--13-1215_03_3.png
  [2]: http://texwelt.de/wissen/upfiles/9999999999vohgi7f_1.jpg