%%
%% This is file `euro.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% euro.dtx  (with options: `package')
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from euro.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file euro.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% File: euro.dtx      Copyright (C) 1999--2005    Melchior FRANZ
%% $Id: euro.dtx,v 1.14 2005/03/07 14:22:19 m Exp $
%% $Version: 1.1 $
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{euro}[2003/02/19 v1.1 euro  (mf)]
\RequirePackage{fp-basic}
\RequirePackage{fp-snap}
\FPmessagesfalse
\newcommand*\EURO@zero{0}
\newcommand*\EURO@lzero{0}
\newcommand*\EURO@rzero{}
\newcommand*\EURO@lminus{\(-\)}
\newcommand*\EURO@rminus{}
\newcommand*\EURO@lplus{}
\newcommand*\EURO@rplus{}
\newcommand*\EURO@align{}
\newcommand*\EURO@lsep{\,}
\newcommand*\EURO@rsep{\,}
\newcommand*\EURO@point{,}
\newcommand*\EURO@round{-2}
\newcommand*\EURO[1]{\bgroup\def\EURO@icurr{#1}\EURO@@}
\newcommand*\EURO@@[2][EUR]{\FPset\EURO@ival{#2}%
  \def\EURO@set##1##2##3##4##5{\FPset##5{##1}}%
  \csname EURO@@\EURO@icurr\endcsname\EURO@ifac
  \csname EURO@@#1\endcsname\EURO@ofac
  \FPdiv\EURO@oval\EURO@ival\EURO@ifac
  \FPmul\EURO@oval\EURO@oval\EURO@ofac
  \def\EURO@set##1##2##3##4##5{\def##5{##4}}%
  \EURO@@main\EURO@
  \EURO@@all\EURO@dflt
  \let\EURO@set\EURO@scan
  \def\in{{\csname EURO@@\EURO@icurr\endcsname\EURO@ival
    \def\EURO@set####1####2####3{}\EURO@@in}}%
  \def\out{{\csname EURO@@#1\endcsname\EURO@oval
    \def\EURO@set####1####2####3{}\EURO@@out}}%
  \def\align{\def\EURO@align####1{\rlap{####1}\let\EURO@align\relax}}%
  \let\table\EURO@table
  \def\form##1##2##3{\def\EURO@lsep{##1}\def\EURO@rsep{##3}%
    \def\EURO@point{##2}}%
  \def\round##1{\def\EURO@round{##1}}%
  \let\zero\EURO@setzero
  \def\minus##1##2{\def\EURO@lminus{##1}\def\EURO@rminus{##2}}%
  \def\plus##1##2{\def\EURO@lplus{##1}\def\EURO@rplus{##2}}%
  \EURO@\egroup}
\newcommand*\EURO@scan[5]{%
  \def\val{\FPifzero#5\EURO@zero\else\EURO@num#5\fi}%
  \def\iso{#2}\def\sym{#3}\def\EURO@form{\EURO@dflt#4}%
  \ifx\EURO@form\empty\let\EURO@form\EURO@dflt\fi
  \EURO@form}%
\newcommand*\EURO@setzero[3]{\def\EURO@zero{#1}%
  \def\EURO@lzero{#2}\def\EURO@rzero{#3}}%
\newcommand*\EUROSYM[2]{%
  \def\EURO@set##1##2##3##4{\toks@={\EURO@set{##1}{##2}{#2}{##4}}%
    \expandafter\edef\csname EURO@@#1\endcsname{\the\toks@}}%
  \csname EURO@@#1\endcsname}
\newcommand*\EUROFORMAT[2]{%
  \def\EURO@set##1##2##3##4{\toks@={\EURO@set{##1}{##2}{##3}{#2}}%
    \expandafter\edef\csname EURO@@#1\endcsname{\the\toks@}}%
  \csname EURO@@#1\endcsname}
\newcommand*\EUROADD[3]{%
  \expandafter\def\csname EURO@@#1\endcsname{\EURO@set{#3}{#1}{#2}{}}}
\newcommand*\EURO@num[1]{{%
  \FPifneg#1%
    \EURO@lminus\let\EURO@post\EURO@rminus\FPneg#1#1%
  \else
    \EURO@lplus\let\EURO@post\EURO@rplus
  \fi
  \EURO@rround#1%
  \let\EURO@aux#1%
  \FPtrunc#1#10%
  \FPifzero#1\EURO@lzero\else\EURO@grp#1\fi
  \EURO@align{%
     \FPsub\EURO@aux\EURO@aux#1%
     \FPifzero\EURO@aux
       \ifnum\EURO@round<0 \EURO@rzero\fi
     \else
       \ifnum\EURO@round<0
         \ifnum\EURO@round<-9
           \FPclip\EURO@aux\EURO@aux
         \else
           \FPtrunc\EURO@aux\EURO@aux{-\EURO@round}%
         \fi
         \EURO@point
         \expandafter\EURO@split\EURO@aux\relax\relax\relax\EURO@
       \fi
     \fi
     \EURO@post}}%
  \let\EURO@align\relax}
\newcommand*\EURO@split{}
\def\EURO@split0.#1#2#3#4\EURO@{#1#2#3%
  \EURO@threedig#4\relax\relax\relax\EURO@}
\newcommand*\EURO@threedig[3]{%
  \if#1\relax
    \let\EURO@\relax
  \else
    \EURO@rsep#1#2#3\let\EURO@\EURO@threedig
  \fi\EURO@}
\newcommand*\EURO@rround[1]{%
  \count@=\EURO@round\relax
  \ifnum\count@<1%
    \count@-\count@
    \FPround#1#1\count@
  \else
    \FPset\EURO@aux1%
    \EURO@rfac\EURO@aux\count@
    \FPdiv#1#1\EURO@aux
    \FPround#1#10%
    \FPmul#1#1\EURO@aux
  \fi}
\newcommand*\EURO@rfac[2]{%
  \ifnum#2>0 \advance#2-1 \EURO@rfac#1#2\FPmul#1#1{10}\fi}
\newcommand*\EURO@grp[1]{\bgroup%
  \FPtrunc#1#10%
  \FPiflt#1{1000}%
    #1%
  \else
    \let\EURO@aux=#1%
    \FPdiv#1#1{1000}%
    \FPtrunc#1#10%
    \EURO@grp#1%
    \FPmul#1#1{1000}%
    \FPsub\EURO@aux\EURO@aux#1%
    \FPtrunc\EURO@aux\EURO@aux0%
    \count0=\EURO@aux\relax
    \EURO@lsep
    \ifnum\count0<100 0\ifnum\count0<10 0\fi\fi\EURO@aux
  \fi\egroup}
\newcommand*\EURO@@ATS{\EURO@set{13.7603}{ATS}{\"oS}{}}
\newcommand*\EURO@@BEF{\EURO@set{40.3399}{BEF}{BEF}{}}
\newcommand*\EURO@@DEM{\EURO@set{1.95583}{DEM}{DM}{}}
\newcommand*\EURO@@ESP{\EURO@set{166.386}{ESP}{Pt.}{}}
\newcommand*\EURO@@FIM{\EURO@set{5.94573}{FIM}{FIM}{}}
\newcommand*\EURO@@FRF{\EURO@set{6.55957}{FRF}{FRF}{}}
\newcommand*\EURO@@GRD{\EURO@set{340.750}{GRD}{GRD}{}}
\newcommand*\EURO@@IEP{\EURO@set{.787564}{IEP}{IEP}{}}
\newcommand*\EURO@@ITL{\EURO@set{1936.27}{ITL}{Lit.}{}}
\newcommand*\EURO@@LUF{\EURO@set{40.3399}{LUF}{LUF}{}}
\newcommand*\EURO@@NLG{\EURO@set{2.20371}{NLG}{NLG}{}}
\newcommand*\EURO@@PTE{\EURO@set{200.482}{PTE}{PTE}{}}
\newcommand*\EURO@@EUR{\EURO@set{1.00000}{EUR}{Euro}{}}
\newcommand*\EURO@@main{\EURO@set0{}{}{}}
\newcommand*\EURO@@in{\EURO@set0{}{}{}}
\newcommand*\EURO@@out{\EURO@set0{}{}{}}
\newcommand*\EURO@@all{\EURO@set0{}{}{}}
\EUROFORMAT{main}{\in\ (\out)}
\EUROFORMAT{in}{\val~\sym}
\EUROFORMAT{out}{\val~\sym}
\EUROFORMAT{ITL}{\round0}
\DeclareOption{eco}%
  {\EUROFORMAT{in}{\iso~\val}%
   \EUROFORMAT{out}{\iso~\val}}
\newcommand*\EURO@emdash{\EURO@setzero
  {0}{---}{\EURO@point---}}
\newcommand*\EURO@endash{\EURO@setzero
  {0}{--\kern.1em}{\EURO@point\kern.1em--}}
\newcommand*\EURO@zeros{\EURO@setzero
  {0\EURO@align{\EURO@point00}}{0}{\EURO@point00}}
\DeclareOption{emdash}{\let\EURO@table\EURO@emdash}
\DeclareOption{endash}{\let\EURO@table\EURO@endash}
\DeclareOption{zeros}{\let\EURO@table\EURO@zeros}
\DeclareOption{table}{\EURO@table}
\DeclareOption{dots}{\let\EURO@lsep.\let\EURO@rsep.}
\ExecuteOptions{emdash}
\InputIfFileExists{euro.cfg}%
  {\PackageInfo{euro}{Local config file euro.cfg used}}{}
\ProcessOptions
\endinput
%%
%% End of file `euro.sty'.
