%% %% 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'.