summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
blob: 8bbfd06599850120449311c7d27badb2ce2ba99d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
%%
%% This is file `biblatex.sty'.
%%

% Set up the version strings here, so they are the same for both branches
\def\abx@date{2013/07/15}
\def\abx@version{2.7a}
\def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/JW/AB)}
\def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/JW/AB)}
\def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/JW/AB)}
\def\abx@cptid{\abx@date\space v\abx@version\space biblatex compatibility (PK/JW/AB)}
% This is not updated by build script as the controlfile version
% does not necessarily change with the package version.
% This is used when writing the .bcf
\def\blx@bcfversion{2.5}
% This is not updated by build script as the bbl version
% does not necessarily change with the package version.
% This is used when checking the .bbl
\def\blx@bblversion{2.2}

\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{biblatex}
[\abx@date\space v\abx@version\space programmable bibliographies (PK/JW/AB)]

% Set up a switch for choosing the version
\newif\ifblx@load@version@one

% A switch so we can issue a message about the backend
\newif\ifblx@load@backend@seen

% Fake keyval options to detect the backend
% All basically the same, so passing the backend is done simply
\DeclareOption{backend=bibtex}{%
  \PassOptionsToPackage{\CurrentOption}{biblatex1}%
  \blx@load@version@onetrue
  \blx@load@backend@seentrue
}
\DeclareOption{backend=bibtex8}{%
  \PassOptionsToPackage{\CurrentOption}{biblatex1}%
  \blx@load@version@onetrue
  \blx@load@backend@seentrue
}
\DeclareOption{backend=bibtexu}{%
  \PassOptionsToPackage{\CurrentOption}{biblatex1}%
  \blx@load@version@onetrue
  \blx@load@backend@seentrue
}
\DeclareOption{backend=biber}{%
  \blx@load@version@onefalse
  \blx@load@backend@seentrue
}
\DeclareOption*{%
  \PassOptionsToPackage{\CurrentOption}{biblatex1}%
  \PassOptionsToPackage{\CurrentOption}{biblatex2}%
}

% Default to the Biber backend
\blx@load@version@onefalse
\ProcessOptions\relax

\ifblx@load@backend@seen
\else
  \PackageWarningNoLine{biblatex}
    {%
      No "backend" specified, using Biber backend.\MessageBreak
      To use BibTeX, load biblatex with \MessageBreak
      the "backend=bibtex" option%
    }
\fi

% Now do the loading: avoid any awkward stuff with the conditional by
% expanding first
\ifblx@load@version@one
  \expandafter\@firstoftwo
\else
  \expandafter\@secondoftwo
\fi
  {%
    % A few things not defined by v1 so has to be handled if using v1
    \protected\long\def\DeclareDriverSourcemap[#1]#2{}%
    \protected\long\def\DeclareLabelalphaTemplate#1{}%
    \protected\long\def\DeclareLabeltitle#1{}%
    \protected\long\def\DeclareLabelname#1{}%
    \protected\long\def\DeclareLabeldate#1{}%
    \protected\long\def\abx@dointernalfields{}%
    \RequirePackage{biblatex1}%
  }
  {\RequirePackage{biblatex2}}

%% Copyright (C) 2006-2011 Philipp Lehman
%%               2012 Philip Kime, Audrey Boruvka, Joseph Wright
%% 
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
%% this license or (at your option) any later version.  The latest
%% version of this license is in the file:
%% 
%%    http://www.latex-project.org/lppl.txt
%% 
%% This work is "maintained" (as per LPPL maintenance status) by
%%   Philip Kime, Audrey Boruvka, Joseph Wright.