%%
%% This is file `fcolumn.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% fcolumn.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Copyright (C) 2015 by Edgar Olthof
%% 
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.2 of this license or (at your option) any later
%% version.  The latest version of this license is in
%% 
%%    http://www.latex-project.org/lppl.txt
%% 
%% and version 1.2 or later is part of all distributions of
%% LaTeX version 1999/12/01 or later.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{fcolumn}
          [2015/03/07 v1.0 automatic currency package]
\RequirePackage{array}
\newcolumntype{F}[3]{>{\b@fi{#1}{#2}{#3}}r<{\e@fi}}
\newcolumntype{f}{F{.}{,}{3,2}}
\newcount\FCsc@l \FCsc@l0
\newcount\FCtc@l \FCtc@l0
\newcount\g@lda
\newcount\g@ldb
\newif\ifwiths@p
\newif\ifstrictaccounting \strictaccountingfalse
\def\geldm@cro#1#2{\withs@pfalse
 \afterassignment\g@ldm@cro\count@#2\relax{#1}}
\def\g@ldm@cro#1\relax#2{%
 \ifnum#2<0 \ifstrictaccounting(\else-\fi\g@lda=-#2 \else\g@lda=#2 \fi
 \ifx\relax#1\relax\g@ldb=2 \else \g@ldb\@gobble#1\relax\fi
 \loop
  \ifnum\g@ldb>0 \divide\g@lda by 10 \advance\g@ldb by \m@ne
 \repeat
 \g@ldens{\the\count@}%
 \ifx\relax#1\relax\g@ldb=2 \else \g@ldb\@gobble#1\relax\fi
 \ifnum\g@ldb>0\decim@lmark
  \ifnum#2>0 \g@lda=-#2\else\g@lda=#2 \fi
  \loop
   \ifnum\g@ldb>0 \divide\g@lda by 10 \advance\g@ldb by \m@ne
  \repeat
  \ifx\relax#1\relax\g@ldb=2 \else \g@ldb\@gobble#1\relax\fi
  \loop
   \ifnum\g@ldb>0 \multiply\g@lda by 10 \advance\g@ldb by \m@ne
  \repeat
  \ifnum#2>0 \advance\g@lda by #2
  \else \advance\g@lda by -#2
  \fi
  \ifx\relax#1\relax\g@ldb=2 \else \g@ldb\@gobble#1\relax\fi
  \zerop@d{\number\g@ldb}{\number\g@lda}%
 \fi
 \ifnum#2<0 \ifstrictaccounting\rlap{)}\fi\fi}
\def\g@ldens#1{{\g@ldb=\g@lda \count0=#1
 \loop
  \ifnum\count0>0
  \divide\g@lda by 10
  \advance\count0 by \m@ne
 \repeat
 \ifnum\g@lda>0 \g@ldens{#1}\fi
 \count0=#1
 \loop
  \ifnum\count0>0
  \multiply\g@lda by 10
  \advance\count0 by \m@ne
 \repeat
 \g@lda=-\g@lda
 \advance\g@lda by \g@ldb \du@zendprint{#1}}}
\def\du@zendprint#1{\ifwiths@p\sep@rator\zerop@d{#1}{\number\g@lda}%
 \else\zerop@d{1}{\number\g@lda}\fi
 \global\withs@ptrue}
\def\zerop@d#1#2{{\count0=1 \count1=#2
 \loop
  \divide \count1 by 10
  \ifnum\count1>0 \advance\count0 by 1
 \repeat
 \loop
  \ifnum\count0<#1 0\advance\count0 by 1
 \repeat
 \number#2}}
\def\zetg@ld#1#2{\global\advance\csname
 FCtot@\romannumeral\FCsc@l\endcsname by #1
 \setbox0=\hbox{$\geldm@cro{#1}{#2}$}%
 \ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
  \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
 \fi\unhbox0}
\def\check#1#2{\noalign{\ifnum\csname FCtot@\romannumeral#1\endcsname=
 \csname FCtot@\romannumeral#2\endcsname\else
 \message{Columns #1 and #2 do not balance!}\fi}}
\newcount\bedr@g
\def\b@fi#1#2#3{\def\sep@rator{{#1}}\def\decim@lmark{{#2}}%
 \let\ignorespaces=\@empty \def\sp@l{#3}\global\advance\FCsc@l by \@ne
 \bedr@g=}
\def\e@fi{\relax \zetg@ld{\number\bedr@g}{\sp@l}}
\def\@xarraycr{\@ifnextchar [%
 \@argarraycr {\ifnum 0=`{}\fi \cr\noalign{\global\FCsc@l=0 }}}
\def\@array[#1]#2{%
 \@tempdima \ht \strutbox
 \advance \@tempdima by\extrarowheight
 \setbox \@arstrutbox \hbox{\vrule
            \@height \arraystretch \@tempdima
            \@depth \arraystretch \dp \strutbox
            \@width \z@}%
 \begingroup
 \@mkpream{#2}%
 \xdef\@preamble{\noexpand \ialign \@halignto
                 \bgroup \@arstrut \@preamble
                         \tabskip \z@ \cr}%
 \endgroup
 \begingroup
 \@mksumline{#2}%
 \endgroup
 \res@tsumline
 \@arrayleft
 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
 \bgroup
 \let \@sharp ##\let \protect \relax
 \lineskip \z@
 \baselineskip \z@
 \m@th
 \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}
\let\@@array=\@array
\def\@mksumline#1{\gdef\sumline{}
 \@lastchclass 4 \@firstamptrue
 \global\FCsc@l=\z@
 \let\prr@sult=\relax
 \@temptokena{#1}
 \@tempswatrue
 \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
 \count@\m@ne
 \let\the@toks\relax
 \prepnext@tok
 \expandafter \@tfor \expandafter \@nextchar
  \expandafter :\expandafter =\the\@temptokena \do
  {\@testpach
  \ifcase \@chclass \@classfz
  \or \or \@classfii \or
  \or \or \or \or \or \or \or \@classfx \fi
  \@lastchclass\@chclass}%
 \xdef\sumline{\sumline\noexpand\\}}
\def\@addtosumline#1{\xdef\sumline{\sumline #1}}
\def\@classfx{\if@firstamp \@firstampfalse \else \@addtosumline &\fi}
\def\@classfz{\ifnum\@chnum<\thr@@ \@classfx\fi}
\def\@classfii{\ifnum\@lastchclass=8
 \edef\t@stm{\expandafter\string\@nextchar}
 \edef\t@stn{\string\e@fi}
 \ifx\t@stm\t@stn
  \@addtosumline{\prr@sult}
  \global\advance\FCsc@l by \@ne
  \ifnum\FCsc@l>\FCtc@l
   \expandafter\ifx\csname FCtot@\romannumeral\FCsc@l\endcsname\relax
    \expandafter\newcount\csname FCtot@\romannumeral\FCsc@l\endcsname
   \else
    \message{\noexpand\FCtot@\romannumeral\FCsc@l already exists.}
   \fi
   \expandafter\ifx\csname FCwd@\romannumeral\FCsc@l\endcsname\relax
    \expandafter\newdimen\csname FCwd@\romannumeral\FCsc@l\endcsname
    \global\FCtc@l=\FCsc@l
   \else
    \message{\noexpand\FCwd@\romannumeral\FCsc@l already exists.}
   \fi
  \fi
 \fi
\fi}
\def\leeg{0\relax \let\e@fi=\relax}
\def\prr@sult{\leeg
 \setbox0=\hbox{$\geldm@cro{\number\csname
 FCtot@\romannumeral\FCsc@l\endcsname}{\sp@l}$}%
 \ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
   \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
 \fi
 \vbox{\hbox to \csname
  FCwd@\romannumeral\FCsc@l\endcsname{\hrulefill}\vskip2pt
  \hbox to \csname
  FCwd@\romannumeral\FCsc@l\endcsname{\hfil\unhbox0}}}
\def\res@tsumline{\FCsc@l\FCtc@l \loop\ifnum\FCsc@l>0
   \global\csname FCtot@\romannumeral\FCsc@l\endcsname=0
   \global\csname FCwd@\romannumeral\FCsc@l\endcsname=0pt
   \advance\FCsc@l by \m@ne \repeat}
\def\resetsumline{\noalign{\res@tsumline}}
\endinput
%%
%% End of file `fcolumn.sty'.
