summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-trad/trad-alpha.bbx
blob: 7c89f6935ab1f29952ba7d9159ef2e0490f8b1e6 (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
%%  Copyright (c) 2012 -- 2015 Marco Daniel
%%                2016 --      Moritz Wemheuer
%%
%%  This package is released under the terms of the
%%  LaTeX Project Public License v1.3c or later
%%  See http://www.latex-project.org/lppl.txt
%%
\ProvidesFile{trad-alpha.bbx}[2021/03/06 v0.5 biblatex-trad alpha bibliograhy style]

\RequireBibliographyStyle{trad-standard}

\ExecuteBibliographyOptions{%
 sorting    =  anyt    , % sorting alphlabel-name-title year
 labelalpha =  true    ,
 maxalphanames = 3,
 minalphanames = 3,
}


\DeclareNameAlias{author}{default}
\DeclareNameAlias{editor}{default}
\DeclareNameAlias{translator}{default}

\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}
\renewcommand*{\labelalphaothers}{\textsuperscript{+}}


\@ifpackagelater{biblatex}{2016/05/14}{%
  \defbibenvironment{bibliography}
    {\list
       {\printtext[labelalphawidth]{%
          \printfield{labelprefix}%
          \printfield{labelalpha}%
          \printfield{extraalpha}}}
       {\setlength{\labelwidth}{\labelalphawidth}%
        \setlength{\leftmargin}{\labelwidth}%
        \setlength{\labelsep}{\biblabelsep}%
        \addtolength{\leftmargin}{\labelsep}%
        \setlength{\itemsep}{\bibitemsep}%
        \setlength{\parsep}{\bibparsep}}%
        \renewcommand*{\makelabel}[1]{##1\hss}}
    {\endlist}
    {\item}%
}{%
  \defbibenvironment{bibliography}
    {\list
       {\printtext[labelalphawidth]{%
          \printfield{prefixnumber}%
          \printfield{labelalpha}%
          \printfield{extraalpha}}}
       {\setlength{\labelwidth}{\labelalphawidth}%
        \setlength{\leftmargin}{\labelwidth}%
        \setlength{\labelsep}{\biblabelsep}%
        \addtolength{\leftmargin}{\labelsep}%
        \setlength{\itemsep}{\bibitemsep}%
        \setlength{\parsep}{\bibparsep}}%
        \renewcommand*{\makelabel}[1]{##1\hss}}
    {\endlist}
    {\item}}

\defbibenvironment{shorthands}
  {\list
     {\printfield[shorthandwidth]{shorthand}}
     {\setlength{\labelwidth}{\shorthandwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}%
      \renewcommand*{\makelabel}[1]{##1\hss}}}
  {\endlist}
  {\item}

\renewbibmacro*{crossref:label}{%
  \entrydata
    {\strfield{crossref}}
    {\printtext[labelalphawidth]{%
       \printfield{labelprefix}%
        \printfield{labelalpha}%
        \printfield{extraalpha}}}}

\DeclareBibliographyDriver{set}{%
  \entryset
    {\ifbool{bbx:subentry}
       {\printfield[bibentrysetcount]{entrysetcount}%
        \printunit*{\addnbspace}}
       {}}
    {}%
  \newunit\newblock
  \usebibmacro{setpageref}%
  \finentry}

\endinput