
%% \ifx\germanTeX\undefined\input german.tex\fi % MW 20.04.1993 changed to
%\ifx\germanTeX\undefined\input german.sty\fi % AS 26.04.1995 changed to
\newif\ifoldstyle
\ifx\documentclass\undefined % plain TeX or LaTeX 2.09
  \oldstyletrue\else\oldstylefalse\fi
\ifoldstyle % plain TeX or LaTeX 2.09
  \ifx\germanTeX\undefined
    \ifx\ngermanTeX\undefined % AS 09.08.2000
      \input german.sty\fi\fi
\else % LaTeX 2e
  \NeedsTeXFormat{LaTeX2e}
  \ProvidesPackage{bibgerm}[2000/08/18 v0.1 %
    Support for mixed language bibliographies]
  \AtBeginDocument{% HH 08.08.2000
    \@ifpackageloaded{babel}{}{%
      \@ifpackageloaded{german}{}{%
        \@ifpackageloaded{ngerman}{}{%
          \RequirePackage{german}[1995/01/20]}}}}
\fi

\message{** Macros for german `BibTeX'ing added to Style Option `german' %
  20 Apr 1993 **}
\message{** idea and languages `german' and `USenglish' implemented %
  by M. Wallmeier **}
\message{** Modified for LaTeX 2e and german.sty 2.5b %
  by A. Scherer 1 Nov 1995 **}
\message{** Modified for ngerman.sty and babel.sty %
  by H. Harders 21 August 2000 **}


\gdef\bibsgerman{% \btx... -> im Satz verwendet bzw. klein geschrieben
\def\btxetalshort##1{et~al##1{}}%
\def\btxetallong##1{et~alii}% 
\def\btxandshort##1{und}%
\def\btxandlong##1{und}%
\def\btxinlong##1{in:}%
\def\btxinshort##1{in:}%
\def\btxofseriesshort##1{d.\ Reihe}%
\def\btxinseriesshort##1{in}%
\def\btxofserieslong##1{der Reihe}%
\def\btxinserieslong##1{in}%
\def\btxeditorshort##1{Hrsg##1{}}%
\def\btxeditorlong##1{Herausgeber}%
\def\btxeditorsshort##1{Hrsg##1{}}%
\def\btxeditorslong##1{Herausgeber}%
\def\btxvolumeshort##1{Bd##1{}}%
\def\btxvolumelong##1{Band}%
\def\btxnumbershort##1{Nr##1{}}%
\def\btxnumberlong##1{Nummer}%
\def\btxeditionshort##1{Aufl##1{}}%
\def\btxeditionlong##1{Au\discretionary{f-}{l}{f\null l}age}%
\def\btxchaptershort##1{Kap##1{}}%
\def\btxchapterlong##1{Kapitel}%
\def\btxpageshort##1{S##1{}}%
\def\btxpagelong##1{Seite}%
\def\btxpagesshort##1{S##1{}}%
\def\btxpageslong##1{Seiten}%
\def\btxmastthesis##1{Diplomarbeit}%
\def\btxphdthesis##1{Doktorarbeit}%
\def\btxtechrepshort##1{Techn.\ Ber##1{}}%
\def\btxtechreplong##1{Technischer Bericht}%
\def\btxmonjanlong##1{Januar}%
\def\btxmonfeblong##1{Februar}%
\def\btxmonmarlong##1{M{{\"a}}rz}%
\def\btxmonaprlong##1{April}%
\def\btxmonmaylong##1{Mai}%
\def\btxmonjunlong##1{Juni}%
\def\btxmonjullong##1{Juli}%
\def\btxmonauglong##1{August}%
\def\btxmonseplong##1{September}%
\def\btxmonoctlong##1{Oktober}%
\def\btxmonnovlong##1{November}%
\def\btxmondeclong##1{Dezember}%
\def\btxmonjanshort##1{Jan##1{}}%
\def\btxmonfebshort##1{Feb##1{}}%
\def\btxmonmarshort##1{M{{\"a}}rz}%
\def\btxmonaprshort##1{Apr##1{}}%
\def\btxmonmayshort##1{Mai}%
\def\btxmonjunshort##1{Juni}%
\def\btxmonjulshort##1{Juli}%
\def\btxmonaugshort##1{Aug##1{}}%
\def\btxmonsepshort##1{Sep##1{}}%
\def\btxmonoctshort##1{Okt##1{}}%
\def\btxmonnovshort##1{Nov##1{}}%
\def\btxmondecshort##1{Dez##1{}}%
% \Btx... -> Satzanfang bzw. gro{\ss} geschrieben.
\def\Btxinlong##1{In:}%
\def\Btxinshort##1{In:}%
\def\Btxeditorshort##1{\btxeditorshort##1{}}%
\def\Btxeditorlong{\btxeditorlong}%
\def\Btxeditorsshort##1{\btxeditorsshort##1{}}%
\def\Btxeditorslong{\btxeditorslong}%
\def\Btxvolumeshort##1{\btxvolumeshort##1{}}%
\def\Btxvolumelong{\btxvolumelong}%
\def\Btxnumbershort##1{\btxnumbershort##1{}}%
\def\Btxnumberlong{\btxnumberlong}%
\def\Btxeditionshort##1{\btxeditionshort##1{}}%
\def\Btxeditionlong{\btxeditionlong}%
\def\Btxchaptershort##1{\btxchaptershort##1{}}%
\def\Btxchapterlong{\btxchapterlong}%
\def\Btxpageshort##1{\btxpageshort##1{}}%
\def\Btxpagelong{\btxpagelong}%
\def\Btxpagesshort##1{\btxpagesshort##1{}}%
\def\Btxpageslong{\btxpageslong}%
\def\Btxtechrepshort##1{\btxtechrepshort##1{}}%
\def\Btxtechreplong{\btxtechreplong}%
}
\gdef\bibsaustrian{%
  \bibsgerman%
  \def\btxmonjanlong##1{J{\"a}nner}%
}
\gdef\bibsngerman{\bibsgerman}
\gdef\bibsnaustrian{\bibsaustrian}
%
\gdef\bibsUSenglish{% \btx... -> im Satz verwendet bzw. klein geschrieben
\def\btxetalshort##1{et~al##1{}}%
\def\btxetallong##1{et~alii}% 
\def\btxandshort##1{and}%
\def\btxandlong##1{and}%
\def\btxinlong##1{in}%
\def\btxinshort##1{in}%
\def\btxofseriesshort##1{of}%
\def\btxinseriesshort##1{in}%
\def\btxofserieslong##1{of}%
\def\btxinserieslong##1{in}%
\def\btxeditorshort##1{ed##1{}}%
\def\btxeditorlong##1{editor}%
\def\btxeditorsshort##1{eds##1{}}%
\def\btxeditorslong##1{editors}%
\def\btxvolumeshort##1{vol##1{}}%
\def\btxvolumelong##1{volume}%
\def\btxnumbershort##1{no##1{}}%
\def\btxnumberlong##1{number}%
\def\btxeditionshort##1{ed##1{}}%
\def\btxeditionlong##1{edition}%
\def\btxchaptershort##1{chap##1{}}%
\def\btxchapterlong##1{chapter}%
\def\btxpageshort##1{p##1{}}%
\def\btxpagelong##1{page}%
\def\btxpagesshort##1{pp##1{}}%
\def\btxpageslong##1{pages}%
\def\btxmastthesis##1{Master's thesis}%
\def\btxphdthesis##1{PhD thesis}%
\def\btxtechrepshort##1{Techn.\ rep##1{}}%
\def\btxtechreplong##1{Technical report}%
\def\btxmonjanlong##1{January}%
\def\btxmonfeblong##1{February}%
\def\btxmonmarlong##1{March}%
\def\btxmonaprlong##1{April}%
\def\btxmonmaylong##1{May}%
\def\btxmonjunlong##1{June}%
\def\btxmonjullong##1{July}%
\def\btxmonauglong##1{August}%
\def\btxmonseplong##1{September}%
\def\btxmonoctlong##1{October}%
\def\btxmonnovlong##1{November}%
\def\btxmondeclong##1{December}%
\def\btxmonjanshort##1{Jan##1{}}%
\def\btxmonfebshort##1{Feb##1{}}%
\def\btxmonmarshort##1{Mar##1{}}%
\def\btxmonaprshort##1{Apr##1{}}%
\def\btxmonmayshort##1{May}%
\def\btxmonjunshort##1{June}%
\def\btxmonjulshort##1{July}%
\def\btxmonaugshort##1{Aug##1{}}%
\def\btxmonsepshort##1{Sept##1{}}%
\def\btxmonoctshort##1{Oct##1{}}%
\def\btxmonnovshort##1{Nov##1{}}%
\def\btxmondecshort##1{Dec##1{}}%
% \Btx... -> Satzanfang bzw. gro{\ss} geschrieben.
\def\Btxinlong##1{In}%
\def\Btxinshort##1{In}%
\def\Btxeditorshort##1{Ed##1{}}%
\def\Btxeditorlong##1{Editor}%
\def\Btxeditorsshort##1{Eds##1{}}%
\def\Btxeditorslong##1{Editors}%
\def\Btxvolumeshort##1{Vol##1{}}%
\def\Btxvolumelong##1{Volume}%
\def\Btxnumbershort##1{No##1{}}%
\def\Btxnumberlong##1{Number}%
\def\Btxeditionshort##1{Ed##1{}}%
\def\Btxeditionlong##1{Edition}%
\def\Btxchaptershort##1{Chap##1{}}%
\def\Btxchapterlong##1{Chapter}%
\def\Btxpageshort##1{P##1{}}%
\def\Btxpagelong##1{Page}%
\def\Btxpagesshort##1{Pp##1{}}%
\def\Btxpageslong##1{Pages}%
\def\Btxtechrepshort##1{Techn.\ Rep##1{}}%
\def\Btxtechreplong##1{Technical Report}%
}
\gdef\bibsenglish{%
  \bibsUSenglish%
%perhaps there is something different for the 
%\btx...thesis commands: I'm german -> thus I don't know so exactly!
}
\gdef\bibsamerican{\bibsUSenglish}

% MW 20.04.1993 changed to \gdef\p@selectlanguage for german.sty v2.4
% AS 26.04.1995 changed for german.sty v2.5b

\newif\ifgermbibgerman

\ifoldstyle % plain TeX or LaTeX 2.09
  \ifx\undefined\p@selectlanguage% wenn german.sty 2.3d,e
  \gdef\selectlanguage#1{%
    \expandafter\ifcase #1\relax
    \dateUSenglish  \captionsenglish \bibsUSenglish  \or
    \dategerman     \captionsgerman  \bibsgerman  \or
    \dateaustrian   \captionsgerman  \bibsaustrian  \or
    \datefrench     \captionsfrench    \or
    \dateenglish    \captionsenglish  \bibsenglish \fi}
  \else
  \ifx\undefined\grmn@originalTeX % andernfalls, wenn german.sty 2.4a, 3.0
  \gdef\p@selectlanguage#1{\relax \original@TeX
    \expandafter\ifx\csname l@#1\endcsname\relax
      \errhelp{Your command will be ignored, type <return> to proceed}%
      \errmessage{You haven't defined the language #1 yet}%
    \else
      \edef\original@TeX{\csname noextras#1\endcsname
                         \let\noexpand\original@TeX\relax}%
      \csname date#1\endcsname
      \csname captions#1\endcsname
      \csname extras#1\endcsname
      \csname bibs#1\endcsname
      \language \csname l@#1\endcsname\relax
    \fi}
  \else % german.sty 2.5b
  \def\p@selectlanguage#1{\relax
    \expandafter\ifx\csname l@#1\endcsname\relax
      \errhelp{Your command will be ignored, type <return> to proceed}%
      \errmessage{You haven't defined the language #1 yet}%
    \else
      \grmn@originalTeX
      \edef\grmn@originalTeX{\csname noextras#1\endcsname
                         \def\noexpand\grmn@originalTeX{}}%
      \csname date#1\endcsname
      \csname captions#1\endcsname
      \csname extras#1\endcsname\relax
      \csname bibs#1\endcsname\relax
      \language \csname l@#1\endcsname\relax
    \fi}
  \fi
  \fi
\else % LaTeX 2e
\AtBeginDocument{%
\@ifpackageloaded{german}{\germbibgermantrue}{}%
\@ifpackageloaded{ngerman}{\germbibgermantrue}{}%

\ifgermbibgerman
  \ifx\undefined\p@selectlanguage% wenn german.sty 2.3d,e
  \typeout{^^Jbibgerm.sty: (n)german.sty 2.3d,e detected^^J}
  \gdef\selectlanguage#1{%
    \expandafter\ifcase #1\relax
    \dateUSenglish  \captionsenglish \bibsUSenglish  \or
    \dategerman     \captionsgerman  \bibsgerman  \or
    \dateaustrian   \captionsgerman  \bibsaustrian  \or
    \datefrench     \captionsfrench    \or
    \dateenglish    \captionsenglish  \bibsenglish \fi}
  \else
  \ifx\undefined\grmn@originalTeX % andernfalls, wenn german.sty 2.4a, 3.0
  \typeout{^^Jbibgerm.sty: (n)german.sty 2.4a, 3.0 detected^^J}
  \gdef\p@selectlanguage#1{\relax \original@TeX
    \expandafter\ifx\csname l@#1\endcsname\relax
      \errhelp{Your command will be ignored, type <return> to proceed}%
      \errmessage{You haven't defined the language #1 yet}%
    \else
      \edef\original@TeX{\csname noextras#1\endcsname
                         \let\noexpand\original@TeX\relax}%
      \csname date#1\endcsname
      \csname captions#1\endcsname
      \csname extras#1\endcsname
      \csname bibs#1\endcsname
      \language \csname l@#1\endcsname\relax
    \fi}
  \else % german.sty 2.5b
    \typeout{^^Jbibgerm.sty: (n)german.sty 2.5b detected^^J}
    \def\p@selectlanguage#1{\relax
      \expandafter\ifx\csname l@#1\endcsname\relax
        \errhelp{Your command will be ignored, type <return> to proceed}%
        \errmessage{You haven't defined the language #1 yet}%
      \else
        \grmn@originalTeX
        \edef\grmn@originalTeX{\csname noextras#1\endcsname
                           \def\noexpand\grmn@originalTeX{}}%
        \csname date#1\endcsname
        \csname captions#1\endcsname
        \csname extras#1\endcsname\relax
        \csname bibs#1\endcsname\relax
        \language \csname l@#1\endcsname\relax
      \fi}
    \fi
  \fi
\else % HH 08.08.2000
  \typeout{^^Jbibgerm.sty: babel.sty detected^^J}
  \addto{\extrasgerman}{\bibsgerman}
  \addto{\extrasaustrian}{\bibsaustrian}
  \addto{\extrasngerman}{\bibsgerman}
  \addto{\extrasnaustrian}{\bibsaustrian}
  \addto{\extrasenglish}{\bibsenglish}
  \addto{\extrasUSenglish}{\bibsUSenglish}
  \addto{\extrasamerican}{\bibsUSenglish}
\fi
}
\fi % LaTeX 2e

\AtBeginDocument{\expandafter\selectlanguage\expandafter{\languagename}}
%\germanTeX
%\selectlanguage{\german}

\endinput
