\ProvidesPackage{babel} %%%% %%%% A simple command that takes language (say l) and %%%% a) checks for existence and includes l.hva %%%% b) calls the command \l@babel (in l.hva) %%%% c) sets current language to l % \newcommand{\InitiateOption}[1]{% \@ifundefined{bbl@#1@loaded} {\let\csname bbl@#1@loaded\endcsname\relax% \@iffileexists{#1.hva} {\input{#1.hva}\def\bbl@main@language{#1}} {\warning{Hevea babel '#1' not found, loading 'english' intead}% \input{english.hva}\def\bbl@main@language{english}}} {}} % %%%% Processing information for each optional argument % \DeclareOption{english}{\InitiateOption{english}}% \DeclareOption{USenglish}{\InitiateOption{english}}% \DeclareOption{french}{\InitiateOption{french}}% \DeclareOption{frenchb}{\InitiateOption{french}}% \DeclareOption{francais}{\InitiateOption{french}}% \DeclareOption{german}{\InitiateOption{german}}% \DeclareOption{ngerman}{\InitiateOption{german}}% \DeclareOption{austrian}{\InitiateOption{austrian}}% \DeclareOption{czech}{\InitiateOption{czech}}% \DeclareOption{american}{\InitiateOption{english}} \DeclareOption{croatian}{\InitiateOption{croatian}}% \DeclareOption{catalan}{\InitiateOption{catalan}}% \DeclareOption{brazil}{\InitiateOption{brazil}}% \DeclareOption{danish}{\InitiateOption{danish}}% \DeclareOption{dutch}{\InitiateOption{dutch}}% \DeclareOption{esperanto}{\InitiateOption{esperanto}}% \DeclareOption{finnish}{\InitiateOption{finnish}}% \DeclareOption{galician}{\InitiateOption{galician}}% \DeclareOption{italian}{\InitiateOption{italian}}% \DeclareOption{magyar}{\InitiateOption{magyar}}% \DeclareOption{norsk}{\InitiateOption{norsk}}% \DeclareOption{nynorsk}{\InitiateOption{nynorsk}}% \DeclareOption{polish}{\InitiateOption{polish}}% \DeclareOption{portuges}{\InitiateOption{portuges}}% \DeclareOption{romanian}{\InitiateOption{romanian}}% \DeclareOption{russian}{\InitiateOption{russian}}% \DeclareOption{slovak}{\InitiateOption{slovak}}% \DeclareOption{slovene}{\InitiateOption{slovene}}% \DeclareOption{spanish}{\InitiateOption{spanish}}% \DeclareOption{swedish}{\InitiateOption{swedish}}% \DeclareOption{turkish}{\InitiateOption{turkish}}% % %%%% Processing babel options postponed for later % %\ProcessOptions* % %%%% One variable for each supported language, to keep track of and to %%%% change the current language. Might as well have used english itself %%%% instead of \english@language!!! % \newcommand\english@language{english}% \newcommand\french@language{french}% \newcommand\german@language{german}% \newcommand\ngerman@language{ngerman}% \newcommand\american@language{american}% \newcommand\austrian@language{austrian}% \newcommand\brazil@language{brazil}% \newcommand\catalan@language{catalan}% \newcommand\croatian@language{croatian}% \newcommand\czech@language{czech}% \newcommand\danish@language{danish}% \newcommand\dutch@language{dutch}% \newcommand\esperanto@language{esperanto}% \newcommand\finnish@language{finnish}% \newcommand\galician@language{galician}% \newcommand\italian@language{italian}% \newcommand\magyar@language{magyar}% \newcommand\norsk@language{norsk}% \newcommand\nynorsk@language{nynorsk}% \newcommand\polish@language{polish}% \newcommand\portuges@language{portuges}% \newcommand\romanian@language{romanian}% \newcommand\russian@language{russian}% \newcommand\slovak@language{slovak}% \newcommand\slovene@language{slovene}% \newcommand\spanish@language{spanish}% \newcommand\swedish@language{swedish}% \newcommand\turkish@language{turkish}% % %%%% Initializing \current@language before loading babel language packages. % \let\current@language\english@language % %%%% Support for the 'babel' command to select languages. % %Save definition of double quote (altered by german) \let\@hevea@saved@dquote\@hevea@dquote \newcommand{\selectlanguage}[1]{% \let\@hevea@dquote\@hevea@saved@dquote%Restore inocuous definition \ifthenelse{\equal{#1}{german}} {% \let\current@language\german@language \german@babel } {% \ifthenelse{\equal{#1}{ngerman}} {% \let\current@language\ngerman@language \german@babel } {% \ifthenelse{\equal{#1}{english}} {% \let\current@language\english@language \english@babel } {% \ifthenelse{\equal{#1}{french}} {% \let\current@language\french@language \french@babel } {% \ifthenelse{\equal{#1}{american}} {% \let\current@language\american@language \american@babel } {% \ifthenelse{\equal{#1}{austrian}} {% \let\current@language\austrian@language \austrian@babel } {% \ifthenelse{\equal{#1}{brazil}} {% \let\current@language\brazil@language \brazil@babel } {% \ifthenelse{\equal{#1}{catalan}} {% \let\current@language\catalan@language \catalan@babel } {% \ifthenelse{\equal{#1}{croatian}} {% \let\current@language\croatian@language \croatian@babel } {% \ifthenelse{\equal{#1}{czech}} {% \let\current@language\czech@language \czech@babel } {% \ifthenelse{\equal{#1}{danish}} {% \let\current@language\danish@language \danish@babel } {% \ifthenelse{\equal{#1}{dutch}} {% \let\current@language\dutch@language \dutch@babel } {% \ifthenelse{\equal{#1}{esperanto}} {% \let\current@language\esperanto@language \esperanto@babel } {% \ifthenelse{\equal{#1}{finnish}} {% \let\current@language\finnish@language \finnish@babel } {% \ifthenelse{\equal{#1}{galician}} {% \let\current@language\galician@language \galician@babel } {% \ifthenelse{\equal{#1}{italian}} {% \let\current@language\italian@language \italian@babel } {% \ifthenelse{\equal{#1}{magyar}} {% \let\current@language\magyar@language \magyar@babel } {% \ifthenelse{\equal{#1}{norsk}} {% \let\current@language\norsk@language \norsk@babel } {% \ifthenelse{\equal{#1}{nynorsk}} {% \let\current@language\nynorsk@language \nynorsk@babel } {% \ifthenelse{\equal{#1}{polish}} {% \let\current@languagepolish\@language \polish@babel } {% \ifthenelse{\equal{#1}{protuges}} {% \let\current@language\portuges@language \portuges@babel } {% \ifthenelse{\equal{#1}{romanian}} {% \let\current@language\romanian@language \romanian@babel } {% \ifthenelse{\equal{#1}{russian}} {% \let\current@language\russian@language \russian@babel } {% \ifthenelse{\equal{#1}{slovak}} {% \let\current@language\slovak@language \slovak@babel } {% \ifthenelse{\equal{#1}{slovene}} {% \let\current@language\slovene@language \slovene@babel } {% \ifthenelse{\equal{#1}{spanish}} {% \let\current@language\spanish@language \spanish@babel } {% \ifthenelse{\equal{#1}{swedish}} {% \let\current@language\swedish@language \swedish@babel } {% \ifthenelse{\equal{#1}{turkish}} {% \let\current@language\turkish@language \turkish@babel } {% }}}}}}}}}}}}}}}}}}}}}}}}}}}}% }% % %%%% Support for the 'babel' command for querying the current language. % \newcommand{\iflanguage}[3]{% \ifthenelse{\equal{#1}{\current@language}}{#2}{#3}% }% % %%%% Processing the optional arguments of the '\usepackage{babel}' command %%%% For each option (language l), checks for l.hva and 'includes' it. % \ProcessOptions*% \selectlanguage{\bbl@main@language} \EndPackage \endinput