diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/babelbib/babelbib.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/babelbib/babelbib.sty | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/babelbib/babelbib.sty b/Master/texmf-dist/tex/latex/babelbib/babelbib.sty new file mode 100644 index 00000000000..0c851985047 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babelbib/babelbib.sty @@ -0,0 +1,315 @@ +%% +%% This is file `babelbib.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% babelbib.dtx (with options: `latex,package') +%% +%% babelbib package +%% +%% Copyright 2003--2005 Harald Harders +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt; either +%% version 1 of the License, or any later version. +%% +%% h.harders@tu-bs.de +%% +\NeedsTeXFormat{LaTeX2e}[1998/06/01] +\ProvidesPackage{babelbib} + [2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)] +\newif\ifbbbbfixlanguage +\DeclareOption{fixlanguage}{\bbbbfixlanguagetrue} +\newif\ifbbbblanguagenames +\DeclareOption{languagenames}{\bbbblanguagenamestrue} +\DeclareOption*{% + \InputIfFileExists{\CurrentOption.bdf}{% + \expandafter\def\csname bbbb\CurrentOption loaded\endcsname{\@empty}% + }{% + \PackageError{babelbib}{% + Language definition file \CurrentOption.bdf not found}{% + Maybe you misspelled the language option?}% + }% +} +\ProcessOptions* +\newcommand*{\bbbbifundefined}[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newcommand\bbbbaddto[2]{% + \expandafter\bbbbifundefined{extras#1}{}{% + \expandafter\addto\expandafter{\csname extras#1\endcsname}{% + \csname #2\endcsname}% + \typeout{babelbib extension \@backslashchar #2 added to + \string\extras #1}% + }% +} +\newcommand\inputbdf[2]{% + \bbbbifundefined{date#1}{}{% + \@ifundefined{bbbb#2loaded}{% + \expandafter\def\csname bbbb#2loaded\endcsname{\@empty}% + \input{#2.bdf}% + }{}% + }% +} +\ifbbbbfixlanguage + \newcommand\selectbiblanguage[1]{% + \AtBeginDocument{\@selectbiblanguage{#1}}% + } + \AtBeginDocument{% + \renewcommand\selectbiblanguage[1]{\@selectbiblanguage{#1}}% + } + \newcommand\@selectbiblanguage[1]{% + \bbbbifundefined{bibs#1}{% + \bbbbifundefined{date#1}{% + \PackageError{babelbib}{Language #1 in bibliography not loaded + by babel}{% + The language #1 hasn't been loaded by babel. + Add it to the\MessageBreak + options of the \string\usepackage{babel} command or to the + global options.}% + }{% + \PackageError{babelbib}{Language #1 in bibliography unknown by + babelbib}{% + There are no definitions for #1 available in the + current\MessageBreak + version of babelbib. Please contact h.harders@tu-bs.de.}% + }% + }{% + \typeout{babelbib: Set language for keywords in the bibliography fixed to #1}% + \csname bibs#1\endcsname + }% + } +\else + \newcommand\selectbiblanguage[1]{% + \PackageWarning{babelbib}{Command \string\selectbiblanguage\space + used without package\MessageBreak + option fixlanguage. Ignored}% + } + \AtBeginDocument{% + \typeout{babelbib: Use citation-dependent languages in bibliography}% + } +\fi +\newcommand\btxselectlanguage[1]{% + \bbbbifundefined{bibs#1}{% + \bbbbifundefined{date#1}{% + \PackageError{babelbib}{Language #1 in bibliography not loaded + by babel}{% + The language #1 hasn't been loaded by babel. + Add it to the\MessageBreak + options of the \string\usepackage{babel} command or to the + global options.}% + }{% + \ifbbbbfixlanguage + \PackageWarning{babelbib}{Language #1 in bibliography + unknown\MessageBreak + by babelbib. Hyphenation will be\MessageBreak + incorrect}% + \else + \PackageError{babelbib}{Language #1 in bibliography unknown by + babelbib}{% + There are no definitions for #1 available in the + current\MessageBreak + version of babelbib. Please contact h.harders@tu-bs.de.}% + \fi + }% + }{% + \selectlanguage{#1}% + }% +} +\newcommand\biblanguage[1]{{% + \expandafter\selectlanguage\expandafter{\biblanguagename}#1}} +\newcommand\btxlanguagename[1]{% + \bbbbifundefined{btxlanguagename#1}{% + \PackageError{babelbib}{Languagename for #1 not + defined\MessageBreak + in \languagename\space language}{% + Either you have forgotten to specify the option `languagenames' + when loading\MessageBreak + babelbib, or the command \string\bibs\languagename\space does + not contain a definition\MessageBreak + for the command \string\btxlanguagename#1. + In the latter case, please\MessageBreak + contact h.harders@tu-bs.de.}% + #1% + }{% + \@nameuse{btxlanguagename#1}% + }% +} +\newcommand*\setbtxfallbacklanguage[1]{% + \edef\btxfallbacklanguage{#1}% + \typeout{babelbib: Set bibliography fall-back language to + \btxfallbacklanguage}% +} +\AtBeginDocument{% + \@ifundefined{btxfallbacklanguage}{% + \edef\btxfallbacklanguage{\languagename}% + \typeout{babelbib: Set bibliography fall-back language to + \btxfallbacklanguage}% + }{% + \typeout{babelbib: Bibliography fall-back language unchanged + (\btxfallbacklanguage)}% + }% +} +\newcommand*\declarebtxcommands[2]{% + \AtBeginDocument{% + \typeout{babelbib: Add a command to \string\bibs#1}% + \expandafter\g@addto@macro\csname bibs#1\endcsname{#2}% + \ifbbbbfixlanguage + \selectbiblanguage{\biblanguagename}% + \fi + }% +} +\@onlypreamble\declarebtxcommands +\newcommand*\btxifchangecaseon{% + \def\btxifchangecase{\@firstoftwo}% +}% +\newcommand*\btxifchangecaseoff{% + \def\btxifchangecase{\@secondoftwo}% +}% +\newcommand\setbibliographyfont{% + \@ifnextchar*{\@@setbibliographyfont}{\@setbibliographyfont}% +} +\newcommand\@setbibliographyfont[2]{% + \bbbbifundefined{btx#1font}{% + \PackageError{babelbib}{Bibliography font `#1' can't be set}{% + You have tried to define a font for the bibliographic element + \MessageBreak + `#1', which is unknown to babelbib}% + }{% + \expandafter\renewcommand\csname btx#1font\endcsname{#2}% + \typeout{babelbib: Bibliography font for `#1' changed.}% + }% +} +\newcommand\@@setbibliographyfont[3]{% + \bbbbifundefined{btx#2font}{% + \expandafter\newcommand\csname btx#2font\endcsname{#3}% + \typeout{babelbib: Bibliography font for `#2' newly defined.}% + }{% + \expandafter\renewcommand\csname btx#2font\endcsname{#3}% + \typeout{babelbib: Bibliography font for `#2' changed.}% + }% +} +\newcommand\providebibliographyfont{% + \@ifnextchar*{\@@providebibliographyfont}{\@providebibliographyfont}% +} +\newcommand\@providebibliographyfont[2]{% + \bbbbifundefined{btx#1font}{% + \PackageError{babelbib}{Bibliography font `#1' can't be set}{% + You have tried to define a font for the bibliographic element + \MessageBreak + `#1', which is unknown to babelbib}% + }{% + \expandafter\ifx\csname btx#1font\endcsname\@empty + \expandafter\renewcommand\csname btx#1font\endcsname{#2}% + \typeout{babelbib: Using the BibTeX style's default font for `#1'.}% + \else + \typeout{babelbib: Using user changed font for `#1'.}% + \fi + }% +} +\newcommand\@@providebibliographyfont[3]{% + \bbbbifundefined{btx#2font}{% + \expandafter\newcommand\csname btx#2font\endcsname{#3}% + \typeout{babelbib: Using the BibTeX style's default font for `#2'.}% + }{% + \expandafter\ifx\csname btx#2font\endcsname\@empty + \expandafter\renewcommand\csname btx#2font\endcsname{#3}% + \typeout{babelbib: Using the BibTeX style's default font for `#2'.}% + \else + \typeout{babelbib: Using user changed font for `#2'.}% + \fi + }% +} +\newcommand*\btxnamefont{} +\let\btxnamefont=\@empty +\newcommand*\btxlastnamefont{} +\let\btxlastnamefont=\@empty +\newcommand\btxtitlefont{} +\let\btxtitlefont=\@empty +\newcommand\btxetalfont{} +\let\btxetalfont=\@empty +\newcommand\btxjournalfont{} +\let\btxjournalfont=\@empty +\newcommand\btxvolumefont{} +\let\btxvolumefont=\@empty +\newcommand\btxISBNfont{} +\let\btxISBNfont=\@empty +\newcommand\btxISSNfont{} +\let\btxISSNfont=\@empty +\newcommand\btxurlfont{} +\let\btxurlfont=\@empty +\newcommand\btxurldatefont{} +\let\btxurldatefont=\@empty +\newcommand\btxauthorcolon{:} +\newcommand\btxISBN{ISBN} +\newcommand\btxISSN{ISSN} +\DeclareRobustCommand\ifbtxprintISBN[1]{\ifbtx@printISBN #1\fi} +\DeclareRobustCommand\ifbtxprintISSN[1]{\ifbtx@printISSN #1\fi} +\newcommand*\btxprintISBN[1]{\csname btx@printISBN#1\endcsname} +\newcommand*\btxprintISSN[1]{\csname btx@printISSN#1\endcsname} +\newif\ifbtx@printISBN +\newif\ifbtx@printISSN +\btxprintISBN{true} +\btxprintISSN{true} +\AtBeginDocument{% + \providecommand\url[1]{% + \PackageError{babelbib}{No \string\url\space command defined but + field URL used\MessageBreak + in bibliography}{% + Please define a \string\url\space command for printing URLs + before \string\begin{document}, e.\,g.\MessageBreak + by loading the package `url.sty'.}% + \texttt{#1}% + }% +} +\AtBeginDocument{% + \RequirePackage{babel} + \inputbdf{afrikaans}{afrikaans} + \inputbdf{american}{english} + \inputbdf{austrian}{german} + \inputbdf{brazil}{portuguese} + \inputbdf{brazilian}{portuguese} + \inputbdf{british}{english} + \inputbdf{canadian}{english} + \inputbdf{canadien}{french} + \inputbdf{catalan}{catalan} + \inputbdf{danish}{danish} + \inputbdf{dutch}{dutch} + \inputbdf{english}{english} + \inputbdf{esperanto}{esperanto} + \inputbdf{finnish}{finnish} + \inputbdf{francais}{french} + \inputbdf{french}{french} + \inputbdf{frenchb}{french} + \inputbdf{german}{german} + \inputbdf{germanb}{german} + \inputbdf{italian}{italian} + \inputbdf{norsk}{norsk} + \inputbdf{mexican}{spanish} + \inputbdf{naustrian}{german} + \inputbdf{ngerman}{german} + \inputbdf{portuges}{portuguese} + \inputbdf{portuguese}{portuguese} + \inputbdf{spanish}{spanish} + \inputbdf{swedish}{swedish} + \inputbdf{UKenglish}{english} + \inputbdf{USenglish}{english} + \ifbbbbfixlanguage + \typeout{babelbib: Load BibTeX extensions + \string\bibs\bbl@main@language\space for \bbl@main@language}% + \selectbiblanguage{\bbl@main@language}% + \else + \expandafter\selectlanguage\expandafter{\bbl@main@language}% + \fi +} + +\endinput +%% +%% End of file `babelbib.sty'. |