%% %% This is file `eurofont.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% eurofont.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 eurofont.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file eurofont.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.) %%\iffalse %% File eurofont.sty %% copyright Rowland McDonnell 1998 %% email rebecca@astrid.u-net.com %%\This file is part of the eurofont distribution. You can distribute it %% freely provided that you include the rest of the eurofont distribution %% with this file and make no more than a nominal charge to cover the %% costs of distributing it. %% %% If you would like to change the contents of this file, please make a %% copy of it under a different name and change that instead. Keep my %% copyright notice attached, but make it clear that the new file is your %% responsibility so you get the credit for the improvements and I don't %% get blamed for the bugs. %% \CheckSum{1267} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %% List contents Corresponding command %% %% %% List contents Corresponding command %% %% Put all the standard LaTeX weights (and likely extras) %% into one of the following lists: \NeedsTeXFormat{LaTeX2e}[1998/06/01] \ProvidesPackage{eurofont}[1999/01/30 v1.1.3 A package for using euro symbols] \def\userlist{} \def\texteurolist{} \def\chinaelist{} \def\cmlist{} \def\seriflist{} \def\sanslist{} \def\monolist{} \def\fakemediumlist{} \def\fakelightlist{} \def\fakeheavylist{} \def\faketexteurolist{} \def\EFlightserieslist{} \def\EFmediumserieslist{} \def\EFboldserieslist{} \def\EFultraboldserieslist{} \newif\ifEF@debugreport \EF@debugreportfalse% Debugging reports off by default \def\EF@debugrep#1{\ifEF@debugreport\typeout{eurofont: #1}\fi} \newif\ifEF@listed \def\EF@checkiflisted#1#2{% check if element #1 is in list #2 \EF@listedfalse% \edef\thiselem{#1}% changed to edef from def RJMM 1/9/98 \let\@@elt\@elt% Save \@elt (in case this command is executed \def\@elt##1{\def\testelem{##1}% \ifx\thiselem\testelem\EF@listedtrue\fi}% #2\let\@elt\@@elt}% execute list and restore \@elt \newcommand{\EFaddtolist}[2]{% #1 = list name; \EF@addtolist#2,:#1\end} \def\EF@addtolist#1,#2:#3\end{% #3 is the list now \def\@tempcmda{#2}% \ifx\@tempcmda\@empty% \EF@debugrep{Last elem: #1}\relax% if #2 is empty, do this. \EF@addMember{#1}{#3}% if #2 is empty, do this \else \EF@debugrep{elem: #1}\relax% if #2 is not empty, do this \EF@addMember{#1}{#3}% if #2 is not empty, do this \EF@addtolist#2:#3\end\fi}% if #2 is not empty, do this \newcommand{\EF@addMember}[2]{% %%% add #1 only if it isn't yet in the list %%% it surely would be more efficient without the check... {\EF@checkiflisted{#1}{#2}\relax% to suppress space \ifEF@listed \EF@debugrep{#1 already in the list}\relax% \else \EF@debugrep{adding #1 to \string #2}\relax% \EF@rightappenditem{#1}{#2}\fi}} \newtoks\EF@tokb% token list register for temp use \newcommand{\EF@rightappenditem}[2]% {\@temptokena={\@elt{#1}}\EF@tokb=\expandafter{#2}% \xdef#2{\the\EF@tokb\the\@temptokena}}% change the list globally \newif\ifEF@marvosym\EF@marvosymfalse% Adobe Eurofonts by default \newif\ifEF@eurosym\EF@eurosymfalse% Don't use eurosym by default \newif\ifEF@textcomp\EF@textcomptrue% Load the textcomp package if \newif\ifEF@fixtieaccent\EF@fixtieaccentfalse% Don't re-define tie \DeclareOption{marvosym} {\EF@marvosymtrue} \DeclareOption{adobeeurofonts}{\EF@marvosymfalse} \DeclareOption{eurosym} {\EF@eurosymtrue} \DeclareOption{noeurosym}{\EF@eurosymfalse} \DeclareOption{debugreport}{\EF@debugreporttrue} \DeclareOption{nodebugreport}{\EF@debugreportfalse} \DeclareOption{notextcomp}{\EF@textcompfalse} \DeclareOption{textcomp}{\EF@textcomptrue} \DeclareOption{fixtieaccent}{\EF@fixtieaccenttrue} \DeclareOption{nofixtieaccent}{\EF@fixtieaccentfalse} \newcommand*{\fakelighteuro}[1][0ex]{\def\EF@tmprlift{#1}\@fakelighteuro} \newcommand*{\fakemediumeuro}[1][0ex]{\def\EF@tmprlift{#1}\@fakemediumeuro} \newcommand*{\fakeheavyeuro}[1][0ex]{\def\EF@tmprlift{#1}\@fakeheavyeuro} \DeclareOption{noslantfakeeuro} {% \def\EF@fakeslant{0}% in case anyone's interested \newcommand*{\@fakemediumeuro}[1][100] {\mediumruleeuronoslant{\EF@tmprlift}{#1}} \newcommand*{\@fakelighteuro}[1][100] {\lightruleeuronoslant{\EF@tmprlift}{#1}} \newcommand*{\@fakeheavyeuro}[1][100] {\heavyruleeuronoslant{\EF@tmprlift}{#1}}} \DeclareOption{normalslantfakeeuro} {% \def\EF@fakeslant{1}% in case anyone's interested \newcommand*{\@fakemediumeuro}[1][100] {\mediumruleeuronorm{\EF@tmprlift}{#1}} \newcommand*{\@fakelighteuro}[1][100] {\lightruleeuronorm{\EF@tmprlift}{#1}} \newcommand*{\@fakeheavyeuro}[1][100] {\heavyruleeuronorm{\EF@tmprlift}{#1}}} \DeclareOption{bigslantfakeeuro} {% \def\EF@fakeslant{2}% in case anyone's interested \newcommand*{\@fakemediumeuro}[1][100] {\mediumruleeurobigslant{\EF@tmprlift}{#1}} \newcommand*{\@fakelighteuro}[1][100] {\lightruleeurobigslant{\EF@tmprlift}{#1}} \newcommand*{\@fakeheavyeuro}[1][100] {\heavyruleeurobigslant{\EF@tmprlift}{#1}}} \DeclareOption{left}{\PassOptionsToPackage{left}{eurosym}% \DeclareRobustCommand{\euros}[1]{\euro\nobreak\,#1}} \DeclareOption{right}{\PassOptionsToPackage{right}{eurosym}% \DeclareRobustCommand{\euros}[1]{#1\nobreak\,\euro}} \DeclareOption{official}{\PassOptionsToPackage{official}{eurosym}} \DeclareOption{gen}{\PassOptionsToPackage{gen}{eurosym}} \DeclareOption{gennarrow}{\PassOptionsToPackage{gennarrow}{eurosym}} \DeclareOption{genwide}{\PassOptionsToPackage{genwide}{eurosym}} \ExecuteOptions{adobeeurofonts}% Use Adobe's Eurofonts by default \ExecuteOptions{noeurosym}% Don't use eurosym by default \ExecuteOptions{left}% Euro symbol on left by default \ExecuteOptions{normalslantfakeeuro}% Fake euros with slight slant by default \ExecuteOptions{nodebugreport}% No debugging reports by default \ExecuteOptions{textcomp}% Load the textcomp package by default \ExecuteOptions{nofixtieaccent}% Don't re-define the tie accent by \InputIfFileExists{eurofont.cfg}{}% {\PackageWarningNoLine{eurofont}% {I can't find the eurofont.cfg configuration file.\MessageBreak Perhaps something is wrong with this installation?\MessageBreak The \protect\euro\space command will work with default settings}% \EFaddtolist{\userlist}{} \EFaddtolist{\texteurolist}{} \EFaddtolist{\chinaelist}{} \EFaddtolist{\cmlist}{cmr,cmss,cmtt} \EFaddtolist{\seriflist}{pbk,pnc,ppl,ptm,put} \EFaddtolist{\sanslist}{pag,phv,psy,pzd} \EFaddtolist{\monolist}{pcr} \EFaddtolist{\fakemediumlist}{pzc} \EFaddtolist{\fakelightlist}{} \EFaddtolist{\fakeheavylist}{} \EFaddtolist{\faketexteurolist}{} \EFaddtolist{\EFlightserieslist}{ul,el,l,ulc,elc,lc,ulx,elx,lx} \EFaddtolist{\EFmediumserieslist}{m,mb,db,sb,mc,mbc,dbc,sbc,mx,mbx,dbx,sbx} \EFaddtolist{\EFboldserieslist}{b,bx,bc} \EFaddtolist{\EFultraboldserieslist}{eb,ub,ebc,ubc,ebx,ubx}% \EFaddtolist{\EFultraboldserieslist}{xb,ebd} } \ProcessOptions \ifEF@textcomp\IfFileExists{textcomp.sty}{\RequirePackage{textcomp}}{}\fi \ifEF@fixtieaccent \DeclareTextAccentDefault{\t}{OML}\fi \ifEF@eurosym% \def\euro{\makefakeeuro} \IfFileExists{eurosym.sty}{\RequirePackage{eurosym}}{% \PackageError{eurofont}{I can't find the eurosym package}% {You've used the eurosym option; this requires the eurosym package which doesn't appear to be installed}}% \let\ESeuro\euro \fi \newcommand{\showfontfamily}{ \typeout{**********************************} \typeout{* \protect\showfontfamily: \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space*} \typeout{*\space\space\space\space\space\space \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space*} \typeout{* The current font family is: \f@family\space *} \typeout{*\space\space\space\space\space\space \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space\space\space\space \space\space\space*} \typeout{***********************************} } \def\EF@crossstrokes#1#2#3#4#5#6#7#8#9{% \@ifundefined{EF@slantcorr}{\def\EF@slantcorr{100}}{}% \@tempdima=#8% \@tempdima=\fontdimen1\font% \@tempdima=0.1\@tempdima% \@tempdima=\EF@slantcorr\@tempdima% \@tempdima=0.1\@tempdima% \edef\@tempcmda{\strip@pt\@tempdima}% \@tempdima=#2% Changed from width #1 to height #2 \@tempdima=\@tempcmda\@tempdima% \@tempdima=0.5\@tempdima% \edef\EF@slantC{\the\@tempdima}% \@tempdimb=#8% centre line spacing of rules \@tempdimb=\@tempcmda\@tempdimb% \@tempdimb=0.5\@tempdimb% \edef\EF@rulehoffset{\the\@tempdimb}% \@tempdima=#1% \ \@tempdima=0.01\@tempdima% \ \@tempdima=#4\@tempdima% } move back to add cross-strokes \kern-\@tempdima% / \kern\EF@slantC% / Slant correction forward for italic \@tempdima=#2% \ \advance\@tempdima by-#3% \ \advance\@tempdima by-#8% \ calc lift of cross-strokes \advance\@tempdima by-#7% / \@tempdima=0.5\@tempdima% / \advance\@tempdima by#9% / \@tempdimc=#8% \ calc cross-stroke spacing \advance\@tempdimc by-#7% / \raisebox{\@tempdima}{% \vbox{% \ \@tempdimb=#1% \ \ \@tempdimb=0.01\@tempdimb% } calc width of cross-stroke \@tempdimb=#5\@tempdimb% / \ \hbox{\kern\EF@rulehoffset% \ top rule \vbox{\hrule width\@tempdimb height#7}}% \ \nointerlineskip% } draw cross-strokes \vskip\@tempdimc% / (using \@tempdima/b/c from above) \@tempdimb=#1% \ / \@tempdimb=0.01\@tempdimb% } calc width of cross-stroke \@tempdimb=#6\@tempdimb% / / \hbox{\kern-\EF@rulehoffset% / \vbox{\hrule width\@tempdimb height#7}}}}% bottom rule \@tempcnta=#4% \ \advance\@tempcnta by-#5% (aha!) \ \@tempdima=#1% \ \@tempdima=0.01\@tempdima% \ move forward to end of C \@tempdima=\@tempcnta\@tempdima% / \kern\@tempdima% / \kern-\EF@slantC% / slant correction } \providecommand\EF@fakeeurobase{C} \def\EFruleeuro#1#2#3#4#5#6#7{{% Confine defs to \EFruleeuro \settowidth{\@tempdima}{\EF@fakeeurobase}% \settoheight{\@tempdimb}{\EF@fakeeurobase}% \settodepth{\@tempdimc}{\EF@fakeeurobase}% \edef\EF@Cwidth{\the\@tempdima}% \edef\EF@Cheight{\the\@tempdimb}% \edef\EF@Cdepth{\the\@tempdimc}% \advance\@tempdimb by\@tempdimc% \def\EF@slantcorr{#7}% \ifx\EF@slantcorr\@empty\def\EF@slantcorr{100}\fi% \def\EF@backshift{#1}% percentage of \EF@Cwidth that back shift is \@tempdimb=0.01\@tempdima% swapped these two lines; \@tempdimb=\EF@backshift\@tempdimb% dimen can get too big otherwise \ifdim\@tempdimb>\@tempdima\@tempdima=\@tempdimb\fi% \makebox[\@tempdima][r]% {\EF@fakeeurobase\EF@crossstrokes{\EF@Cwidth}{\EF@Cheight}{\EF@Cdepth}% {\EF@backshift}{#2}{#3}{#4}{#5}{#6}}% }} \def\SelectOnWeight#1#2#3#4{% \EF@checkiflisted{\f@series}{\EFlightserieslist}% \ifEF@listed\EF@debugrep{SelectOnWeight light}#1% \else \EF@checkiflisted{\f@series}{\EFmediumserieslist}% \ifEF@listed\EF@debugrep{SelectOnWeight medium}#2% \else \EF@checkiflisted{\f@series}{\EFboldserieslist}% \ifEF@listed\EF@debugrep{SelectOnWeight bold}#3% \else \EF@checkiflisted{\f@series}{\EFultraboldserieslist}% \ifEF@listed\EF@debugrep{SelectOnWeight ultrabold}#4% \else\EF@debugrep{SelectOnWeight default to medium}% #2% \fi\fi\fi\fi} \providecommand*{\mediumruleeuronorm}[2]{\EF@debugrep{medium rule euro norm}% \SelectOnWeight% {\EFruleeuro{110}{80}{72}{0.04ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{72}{0.07ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{72}{0.14ex}{0.27ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{72}{0.18ex}{0.27ex}{#1}{#2}}% ultra bold - new numbers } \providecommand*{\mediumruleeuronoslant}[2]{\EF@debugrep{medium rule euro noslant}% \SelectOnWeight% {\EFruleeuro{110}{80}{80}{0.04ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{80}{0.07ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{80}{0.14ex}{0.27ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{80}{0.18ex}{0.27ex}{#1}{#2}}% ultra bold } \providecommand*{\mediumruleeurobigslant}[2]{\EF@debugrep{medium rule euro bigslant}% \SelectOnWeight% {\EFruleeuro{110}{80}{60}{0.04ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{60}{0.07ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{60}{0.14ex}{0.27ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{60}{0.18ex}{0.27ex}{#1}{#2}}% ultra bold } \providecommand*{\lightruleeuronorm}[2]{\EF@debugrep{light rule euro norm}% \SelectOnWeight% {\EFruleeuro{110}{80}{72}{0.02ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{72}{0.04ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{72}{0.07ex}{0.27ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{72}{0.14ex}{0.27ex}{#1}{#2}}% ultra bold } \providecommand*{\lightruleeuronoslant}[2]{\EF@debugrep{light rule euro noslant}% \SelectOnWeight% {\EFruleeuro{110}{80}{80}{0.02ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{80}{0.04ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{80}{0.07ex}{0.27ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{80}{0.14ex}{0.27ex}{#1}{#2}}% ultra bold } \providecommand*{\lightruleeurobigslant}[2]{\EF@debugrep{light rule euro bigslant}% \SelectOnWeight% {\EFruleeuro{110}{80}{60}{0.02ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{60}{0.04ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{60}{0.07ex}{0.27ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{60}{0.14ex}{0.27ex}{#1}{#2}}% ultra bold } \providecommand*{\heavyruleeuronorm}[2]{\EF@debugrep{heavy rule euro norm}% \SelectOnWeight% {\EFruleeuro{110}{80}{72}{0.14ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{72}{0.18ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{72}{0.22ex}{0.30ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{72}{0.26ex}{0.33ex}{#1}{#2}}% ultra bold } \providecommand*{\heavyruleeuronoslant}[2]{\EF@debugrep{heavy rule euro noslant}% \SelectOnWeight% {\EFruleeuro{110}{80}{80}{0.14ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{80}{0.18ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{80}{0.22ex}{0.30ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{80}{0.26ex}{0.33ex}{#1}{#2}}% ultra bold } \providecommand*{\heavyruleeurobigslant}[2]{\EF@debugrep{heavy rule euro bigslant}% \SelectOnWeight% {\EFruleeuro{110}{80}{60}{0.14ex}{0.27ex}{#1}{#2}}% light {\EFruleeuro{110}{80}{60}{0.18ex}{0.27ex}{#1}{#2}}% medium {\EFruleeuro{110}{80}{60}{0.22ex}{0.30ex}{#1}{#2}}% bold {\EFruleeuro{110}{80}{60}{0.26ex}{0.33ex}{#1}{#2}}% ultra bold } \def\EF@mvs{\fontencoding{U}\fontfamily{zmvs}\fontseries{m}\selectfont} \providecommand{\marvosymeuro}[1]{% \EF@debugrep{marvosymeuro}% \SelectOnWeight% {\EF@mvs\char#1}% light {\EF@mvs\char#1}% medium {\mbox{\EF@pmsb{\EF@mvs\char#1}}}% bold {\mbox{\EF@pmsb{\EF@mvs\char#1}}}% ultra bold } \providecommand {\marvosymserifeuro}{\EF@debugrep{marvosymserifeuro}\marvosymeuro{101}} \providecommand {\marvosymsanseuro}{\EF@debugrep{marvosymsanseuro}\marvosymeuro{99}} \providecommand {\marvosymmonoeuro}{\EF@debugrep{marvosymmonoeuro}\marvosymeuro{100}} \newlength{\EF@pmbshift} \newcommand{\EF@pmsb}[1]{% \EF@debugrep{EF@pmsb}% \EF@pmbshift=0.020em% as was \hbox{% \rlap{#1}% \kern0.5\EF@pmbshift% \raisebox{0.50\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \raisebox{-0.50\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \kern1\EF@pmbshift% \raisebox{0.50\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \raisebox{-0.50\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \kern0.5\EF@pmbshift% #1}} \newcommand{\EF@pmb}[1]{% \EF@debugrep{EF@pmb}% \EF@pmbshift=0.020em% as was \hbox{% \rlap{#1}% \kern0.5\EF@pmbshift% \raisebox{0.866\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \raisebox{-0.866\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \kern1\EF@pmbshift% \raisebox{0.866\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \raisebox{-0.866\EF@pmbshift}[0pt][0pt]{\rlap{#1}}% \kern0.5\EF@pmbshift% #1}} \def\EFiftexteuroexists#1#2{% \EF@checkiflisted{\f@family}{\faketexteurolist}% \ifEF@listed#2% \else \ifx\texteuro\@undefined#2% if \texteuro doesn't exist, #2 and finish \else% \IfFileExists{ts1\f@family.fd}% {#1}% if ts1.fd exists, #1. Can't usefully test for glyph existing {#2}% if ts1.fd doesn't exist, #2 and finish \fi\fi} \providecommand{\zpeutteuro}{\EF@debugrep{zpeutteuro}% {\fontencoding{U}\fontfamily{zpeutt}\selectfont e}} \providecommand{\zpeureuro}{\EF@debugrep{zpeureuro}% {\fontencoding{U}\fontfamily{zpeur}\selectfont e}} \providecommand{\zpeusseuro}{\EF@debugrep{zpeusseuro}% {\fontencoding{U}\fontfamily{zpeuss}\selectfont e}} \ifEF@marvosym \providecommand{\monoeuro}{\EF@debugrep{monoeuro}{\marvosymmonoeuro}} \providecommand{\serifeuro}{\EF@debugrep{serifeuro}{\marvosymserifeuro}} \providecommand{\sanseuro}{\EF@debugrep{sanseuro}{\marvosymsanseuro}} \else \providecommand{\monoeuro}{\EF@debugrep{monoeuro}\zpeutteuro} \providecommand{\serifeuro}{\EF@debugrep{serifeuro}\zpeureuro} \providecommand{\sanseuro}{\EF@debugrep{sanseuro}\zpeusseuro} \fi \providecommand{\makeusereuro} {\EF@debugrep{makeusereuro}\makefakemediumeuro% \PackageWarningNoLine{eurofont}{% You have tried to use the \protect\makeusereuro\space command to\MessageBreak print a euro symbol, but you have not defined the\MessageBreak \protect\makeusereuro\space command. This has probably happened in\MessageBreak the \protect\euro\space command. I shall print a faked euro symbol\MessageBreak for now}} \DeclareFontFamily{OT1}{chin}{} \DeclareFontShape{OT1}{chin}{m}{n}{<-> china10}{} \providecommand{\chinaeeuro}{% \IfFileExists{china2e.sty}% {\EF@debugrep{chinaeeuro}% \SelectOnWeight% {{\usefont{OT1}{chin}{m}{n}\char255}}% light {{\usefont{OT1}{chin}{m}{n}\char255}}% medium {\mbox{\EF@pmb{\usefont{OT1}{chin}{m}{n}\char255}}}% bold {\mbox{\EF@pmb{\usefont{OT1}{chin}{m}{n}\char255}}}% ultra bold }% {\EF@debugrep{chinaeeuro - we have a problem}% \PackageWarning{eurofont}{% The \protect\euro\space command is trying to print a euro symbol\MessageBreak from the China2e fount, but I can't find the file\MessageBreak china2e.sty.\MessageBreak\MessageBreak I'm assuming that you've not got the China2e font\MessageBreak installed, so I'm printing a faked euro instead\MessageBreak}% \makefakeeuro}} \providecommand{\cmrfakeeuro}{% \EF@debugrep{\protect\cmrfakeeuro}\fakelighteuro} \providecommand{\cmssfakeeuro}{% \EF@debugrep{\protect\cmssfakeeuro}\fakemediumeuro} \providecommand{\cmttfakeeuro}{% \EF@debugrep{\protect\cmttfakeeuro}\fakemediumeuro} \providecommand{\makefakemediumeuro}{\EF@debugrep{makefakemediumeuro}% \@ifundefined{\f@family fakeeuro}{\fakemediumeuro}% {\csname\f@family fakeeuro\endcsname}} \providecommand{\makefakelighteuro}{\EF@debugrep{makefakelighteuro}% \@ifundefined{\f@family fakeeuro}{\fakelighteuro}% {\csname\f@family fakeeuro\endcsname}} \providecommand{\makefakeheavyeuro}{\EF@debugrep{makefakeheavyeuro}% \@ifundefined{\f@family fakeeuro}{\fakeheavyeuro}% {\csname\f@family fakeeuro\endcsname}} \providecommand{\makefakeeuro}{\EF@debugrep{makefakeeuro}% \@ifundefined{\f@family fakeeuro}{% \EF@checkiflisted{\f@family}{\fakelightlist}\relax \ifEF@listed \makefakelighteuro \else \EF@checkiflisted{\f@family}{\fakemediumlist}\relax \ifEF@listed \makefakemediumeuro \else \EF@checkiflisted{\f@family}{\fakeheavylist}\relax \ifEF@listed \makefakeheavyeuro \else% If 's not listed, \makefakemediumeuro% print medium faked euro \fi \fi \fi }% {\csname\f@family fakeeuro\endcsname}} \providecommand{\pzcfakeeuro}{\EF@debugrep{pzcfakeeuro}% \fakemediumeuro[-0.1ex]} \providecommand{\maketexteuro}{\EF@debugrep{maketexteuro}% \EFiftexteuroexists{\texteuro}{\makefakeeuro}} \providecommand{\cmeuro}{\EF@debugrep{cmeuro}% \EFiftexteuroexists{\texteuro}{\makefakeeuro}} \ifEF@eurosym \EF@debugrep{Using eurosym's euro command} \providecommand{\makecmeuro} {\EF@debugrep{makecmeuro; ESeuro}\ESeuro} \providecommand{\makedefaulteuro}{\EF@debugrep{makedefaulteuro; ESeuro}\ESeuro} \providecommand{\makeserifeuro} {\EF@debugrep{makeserifeuro; ESeuro}\ESeuro} \providecommand{\makesanseuro} {\EF@debugrep{makesanseuro; ESeuro}\ESeuro} \providecommand{\makemonoeuro} {\EF@debugrep{makemonoeuro; ESeuro}\ESeuro} \else \EF@debugrep{Not using eurosym's euro command} \providecommand{\makecmeuro} {\EF@debugrep{makecmeuro }\cmeuro} \providecommand{\makedefaulteuro}{\EF@debugrep{makedefaulteuro}\makefakeeuro} \providecommand{\makeserifeuro} {\EF@debugrep{makeserifeuro }\serifeuro} \providecommand{\makesanseuro} {\EF@debugrep{makesanseuro }\sanseuro} \providecommand{\makemonoeuro} {\EF@debugrep{makemonoeuro }\monoeuro} \fi \providecommand{\makechinaeeuro} {\EF@debugrep{makechinaeeuro}\chinaeeuro} \DeclareRobustCommand{\EFeuro}{\EF@debugrep{start EFeuro: \f@encoding/\f@family/\f@series/\f@shape}% \EF@checkiflisted{\f@family}{\userlist}\relax \ifEF@listed\EF@debugrep{EFeuro makeuser euro}\makeusereuro \else \@ifundefined{\f@family euro}{\@tempswatrue}% test for \euro {\EF@debugrep{EFeuro \f@family euro}\relax% do \euro \@tempswafalse\csname\f@family euro\endcsname}\relax% do \euro \if@tempswa% if \euro doesn't exist, do the next test \EF@checkiflisted{\f@family}{\texteurolist}\relax \ifEF@listed \EF@debugrep{EFeuro texteuro}\maketexteuro \else \EF@checkiflisted{\f@family}{\chinaelist}\relax \ifEF@listed \EF@debugrep{EFeuro China2e euro}\makechinaeeuro \else \EF@checkiflisted{\f@family}{\cmlist}\relax \ifEF@listed \EF@debugrep{EFeuro cm euro}\makecmeuro \else \EF@checkiflisted{\f@family}{\seriflist}\relax \ifEF@listed \EF@debugrep{EFeuro serif euro}\makeserifeuro \else \EF@checkiflisted{\f@family}{\sanslist}\relax \ifEF@listed \EF@debugrep{EFeuro sans euro}\makesanseuro \else \EF@checkiflisted{\f@family}{\monolist}\relax \ifEF@listed \EF@debugrep{EFeuro mono euro}\makemonoeuro \else \EF@checkiflisted{\f@family}{\fakelightlist}\relax \ifEF@listed \EF@debugrep{EFeuro fake light euro}\makefakelighteuro \else \EF@checkiflisted{\f@family}{\fakemediumlist}\relax \ifEF@listed \EF@debugrep{EFeuro fake med euro}\makefakemediumeuro \else \EF@checkiflisted{\f@family}{\fakeheavylist}\relax \ifEF@listed \EF@debugrep{EFeuro fake heavy euro}\makefakeheavyeuro \else \EF@debugrep{EFeuro default euro}\makedefaulteuro \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi} \AtBeginDocument{% \let\oldeuro\euro% save the previous \euro command (if one exists) \let\euro\EFeuro}% make the \euro command be \EFeuro come what may \endinput %% %% End of file `eurofont.sty'.