%%
%%  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}