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