%% 
%%  A DANTE-Edition example
%% 
%%  Beispiel 06-00-32 auf Seite 196.
%% 
%%  Copyright (C) 2010 H. Voss
%% 
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%% 
%%  See http://www.latex-project.org/lppl.txt for details.
%% 

%%Run also: >>  << 
% Show page(s) 1,2

\documentclass[]{article}
\pagestyle{empty}
\setlength\textwidth{173.82971pt}
\usepackage[utf8]{inputenc}% adapt maybe
\usepackage[paper=70mm:88mm,pagesize]{typearea}
\usepackage[utf8]{inputenc}% eventuell anpassen
\usepackage[ngerman]{babel}
\setlength\parindent{0pt}
\usepackage{etex}           % Damit Marken verwendet werden koennen
\usepackage{ltxtable}
\usepackage[savepos,user]{zref}  % Um die aktuelle Position zu merken
\usepackage{fltpoint}       % Rechnen mit Komma-Zahlen
\usepackage{calc}           % Fuer das Makro \widthof
\usepackage{numprint}       % Zahlen formatiert ausgeben
\usepackage{eurosym}        % Das Euro-Zeichen
% Globale Einstellungen fuer numprint
\npstylegerman      % Deutsche Zahlenformatierung
\nprounddigits{2}   % Zwei Nachkommasstellen
\npreplacenull{---} % Buchhalter-Strich statt Nachkomma-Nullen

%%%%%%%%%%%%%%Befehle zur Berechnung der Zwischensumme%%%%%%%%%%%%%%%%%%%%
\newcommand*\laufsumme{0}
\newcommand*\resetlaufsumme{\global\def\laufsumme{0}}
\newcommand*\addlaufsumme[1]{\fpAdd{\laufsumme}{\laufsumme}{#1}%
                                 \global\let\laufsumme\laufsumme}
\newcommand*\printwert[1]{\numprint{#1}}

%%%%%%%%PlainTeX-Hack fuer Positionierung der Zwischensummen%%%%%%%%%%%%%%%
\makeatletter  % Das at-Zeichen in Variablen zulassen
% Variablen bereit stellen
  \newdimen\drx
  \newdimen\dry
  \newmarks\ltm@marks
  \def\ltm@setmarks#1{\marks\ltm@marks{#1}}
  \def\ltm@getmarks{\botmarks\ltm@marks}

% Den aktuellen Wert der Laufsumme berechnen und merken
\newcommand*{\Wert}[1]{%
  \printwert{#1}%     Ausgabe des Werts vor Ort
  \addlaufsumme{#1}%  Den uebergebenen Wert zur Laufsumme addieren
  \expandafter\ltm@setmarks\expandafter{\laufsumme}% Laufsumme merken
}

% Merken der aktuellen Position
\newcommand*{\MarkZwsumPos}{%
  \leavevmode
     \zsavepos{zwsumpos\thepage}%
     \zrefused{zwsumpos\thepage}}

% Ausgabe der Zwischensumme
\def\ltm@insertfoot#1{%
    \vbox to\z@{%
      \vss
      \hb@xt@\z@{%
        \color@begingroup
            \zsavepos{tabende\thepage}%   % Die aktuelle Position merken
            \drx=0sp
            \dry=0sp
            % Die aktuelle Position abziehen und die gemerkte addieren
            \advance \drx by -\zposx{tabende\thepage}sp
            \advance \drx by \zposx{zwsumpos\thepage}sp
            \advance \dry by -\zposy{tabende\thepage}sp
            \advance \dry by \zposy{zwsumpos\thepage}sp
            \smash{\kern\drx\raise\dry%
                   \hbox{\makebox[\widthof{ \euro}][r]{%
                   \printwert{#1} \euro}}%
                   }
        \color@endgroup
      }%
    }%
}

% Ausgabe des Uebertrags
% Wie die Ausgabe der Zwischensumme, nur ohne neu gemerkte Position
\def\ltm@inserthead#1{%
    \vbox to\z@{%
      \vss
      \hb@xt@\z@{%
        \color@begingroup
            \drx=0sp
            \dry=0sp
            % Die Position des Tabellenendes abziehen
            \advance \drx by -\zposx{tabende\thepage}sp
            \advance \drx by \zposx{zwsumpos\thepage}sp
            \advance \dry by -\zposy{tabende\thepage}sp
            \advance \dry by \zposy{zwsumpos\thepage}sp
            \smash{\kern\drx\raise\dry%
                   % Die eigentliche Ausgabe. Rechtsbuendig und
                   % um die Breite des Euro-Zeichens verschoben.
                   \hbox{\makebox[\widthof{ \euro}][r]{%
                   \printwert{#1} \euro}}%
                   }
        \color@endgroup
      }%
    }%
}

\def\ltm@lastfoot{\ltm@insertfoot\ltm@getmarks}
\def\ltm@foot{\ltm@insertfoot{\ltm@getmarks}}
\def\ltm@head{\ltm@inserthead{\ltm@getmarks}}

% Ueberschreiben der Output-Routine von longtable
\def\LT@output{%
  \ifnum\outputpenalty <-\@Mi
    \ifnum\outputpenalty > -\LT@end@pen
      \LT@err{floats and marginpars %
              not allowed in a longtable}\@ehc
    \else
      \setbox\z@\vbox{\unvbox\@cclv}%
      \ifdim \ht\LT@lastfoot>\ht\LT@foot
        \dimen@\pagegoal
        \advance\dimen@-\ht\LT@lastfoot
        \ifdim\dimen@<\ht\z@
          \setbox\@cclv\vbox{%
            \unvbox\z@\copy\LT@foot\ltm@foot\vss
          }%
          \@makecol
          \@outputpage
          \setbox\z@\vbox{\box\LT@head}%
        \fi
      \fi
      \global\@colroom\@colht
      \global\vsize\@colht
      \vbox{%
        \unvbox\z@
        \box\ifvoid\LT@lastfoot
          \LT@foot\ltm@foot
        \else
          \LT@lastfoot\ltm@lastfoot
        \fi
      }%
    \fi
  \else
    \setbox\@cclv\vbox{%
      \unvbox\@cclv\copy\LT@foot\ltm@foot\vss
    }%
    \@makecol
    \@outputpage
    \global\vsize\@colroom
    \copy\LT@head\ltm@head
  \fi
}
\makeatother    % Das at-Zeichen in Variablen wieder verbieten
%%%%%%%%%%%%%%%%%%%%Ende plaintex-Hack%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\usepackage{longtable}

\begin{document}
\resetlaufsumme
\begin{longtable}{p{0.7\linewidth}r}
  links & rechts
\endfirsthead
  Übertrag & \\
\endhead
  Zwischensumme: & \MarkZwsumPos \\
\endfoot
  Summe: &\MarkZwsumPos \\
\endlastfoot
  Ein beliebiger einleitender Text zu Beginn der Spalte \ldots.
    & \Wert{1,00} \\
  b & \Wert{2,1}  \\
  c & \Wert{3,4}  \\
  d & \Wert{4,5}  \\
  e & \Wert{5,6}  \\
  f & \Wert{6,7}  \\
  g & \Wert{7,8}  \\
  h & \Wert{8,9}  \\
  i & \Wert{9,42} \\
  j & \Wert{10,88}\\
  k & \Wert{15,76}
\end{longtable}
\end{document}
