%% 
%%  A DANTE-Edition example
%% 
%%  Example 06-00-32 on page 196.
%% 
%%  Copyright (C) 2010 Herbert 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.
%% 
%% 
%% ==== 
% Show page(s) 1,2
%% 
\documentclass[]{article}
\pagestyle{empty}
\setlength\textwidth{183.78818pt}
\usepackage[utf8]{inputenc}% adapt maybe
\usepackage[paper=70mm:85mm,pagesize]{typearea}
\usepackage[utf8]{inputenc}% adapt maybe
\usepackage[english]{babel}
\setlength\parindent{0pt}
\usepackage{etex}           % to be able to use labels
\usepackage{ltxtable}
\usepackage[savepos,user]{zref}  % to save the current position
\usepackage{fltpoint}       % floating point arithmetics
\usepackage{calc}           % for the \widthof command
\usepackage{numprint}       % formatted output of numbers
\usepackage{eurosym}        % Euro sign
% global settings for numprint
\npstyleenglish     % English number formatting
\nprounddigits{2}   % two decimal places
\npreplacenull{---} % hyphen instead of decimal zeros

%%%%%%%%%%%%%%commands to calculate the intermediate sums%%%%%%%%%%%%%%%%%%%%
\newcommand*\intsum{0}
\newcommand*\resetintsum{\global\def\intsum{0}}
\newcommand*\addintsum[1]{\fpAdd{\intsum}{\intsum}{#1}%
                                 \global\let\intsum\intsum}
\newcommand*\printval[1]{\numprint{#1}}

%%%%%%%%PlainTeX hack for positioning of intermediate sums%%%%%%%%%%%%%%%
\makeatletter  % allow the at sign in variables
% provide variables
  \newdimen\drx
  \newdimen\dry
  \newmarks\ltm@marks
  \def\ltm@setmarks#1{\marks\ltm@marks{#1}}
  \def\ltm@getmarks{\botmarks\ltm@marks}

% calculate the current value of the intermediate sum and save it
\newcommand*{\Val}[1]{%
  \printval{#1}%   immediate output of the value
  \addintsum{#1}%  add the passed value to the intermediate sum
  \expandafter\ltm@setmarks\expandafter{\intsum}% save intermediate sum
}

% save current position
\newcommand*{\MarkIntSumPos}{%
  \leavevmode
     \zsavepos{zwsumpos\thepage}%
     \zrefused{zwsumpos\thepage}}

% output intermediate sum
\def\ltm@insertfoot#1{%
    \vbox to\z@{%
      \vss
      \hb@xt@\z@{%
        \color@begingroup
            \zsavepos{tabende\thepage}%   % save current position
            \drx=0sp
            \dry=0sp
            % subtract current position and add saved one
            \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]{%
                   \printval{#1} \euro}}%
                   }
        \color@endgroup
      }%
    }%
}

% output of the carry
% like output of the intermediate sum, but without saved position
\def\ltm@inserthead#1{%
    \vbox to\z@{%
      \vss
      \hb@xt@\z@{%
        \color@begingroup
            \drx=0sp
            \dry=0sp
            % subtract position of end of table
            \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%
                   % The actual output. Right-aligned and translated by the
                   % width of the Euro sign.
                   \hbox{\makebox[\widthof{ \euro}][r]{%
                   \printval{#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}}

% overwrite the output routines of 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    % disallow at sign in variables
%%%%%%%%%%%%%%%%%%%%end plaintex hack%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\usepackage{longtable}

\begin{document}
\resetintsum
\begin{longtable}{p{0.7\linewidth}r}
  left & right
\endfirsthead
  carry & \\
\endhead
  intermediate sum: & \MarkIntSumPos \\
\endfoot
  sum: &\MarkIntSumPos \\
\endlastfoot
  An arbitrary introductory text at the start of the column\ldots.
    & \Val{1,00} \\
  b & \Val{2,1}  \\
  c & \Val{3,4}  \\
  d & \Val{4,5}  \\
  e & \Val{5,6}  \\
  f & \Val{6,7}  \\
  g & \Val{7,8}  \\
  h & \Val{8,9}  \\
  i & \Val{9,42} \\
  j & \Val{10,88}\\
  k & \Val{15,76}
\end{longtable}
\end{document}