summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/babelbib/babelbib.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:51:49 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:51:49 +0000
commit69d9e75b825df4beeef36e113612773af37758b1 (patch)
treeeaef75a4d750a27c6348acc3287bf4bade375b22 /Master/texmf-dist/tex/latex/babelbib/babelbib.sty
parentea95887a7ba6238022b346bd8c5fb63bb2694dbc (diff)
babelbib
git-svn-id: svn://tug.org/texlive/trunk@688 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/babelbib/babelbib.sty')
-rw-r--r--Master/texmf-dist/tex/latex/babelbib/babelbib.sty315
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'.