diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/biblatex-contrib/uni-wtal-lin/uni-wtal-lin.bbx |
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/uni-wtal-lin/uni-wtal-lin.bbx')
-rw-r--r-- | macros/latex/contrib/biblatex-contrib/uni-wtal-lin/uni-wtal-lin.bbx | 429 |
1 files changed, 429 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/uni-wtal-lin/uni-wtal-lin.bbx b/macros/latex/contrib/biblatex-contrib/uni-wtal-lin/uni-wtal-lin.bbx new file mode 100644 index 0000000000..12646601d2 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/uni-wtal-lin/uni-wtal-lin.bbx @@ -0,0 +1,429 @@ +% uni-wtal-lin.bbx, v 0.2 2013-08-09, Carsten A. Dahlmann (Ace@Dahlmann.net) +% based on authoryear + +%% requires authoryear +\RequireBibliographyStyle{authoryear} + +%% Book +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{maintitle+title}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\bibpagespunct}\newblock + \newunit\newblock + \iffieldundef{series} + {}% + {\usebibmacro{series+number}}% + \usebibmacro{finentry}} + +%% InBook +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \setunit{\titleaddonpunct}\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\bibpagespunct} + \newunit\newblock + \iffieldundef{series} + {}% + {\usebibmacro{series+number}}% + \usebibmacro{finentry}} + +%% Collection +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\bibpagespunct}\newblock + \newunit\newblock + \iffieldundef{series} + {}% + {\usebibmacro{series+number}}% + \usebibmacro{finentry}} + +%% InCollection +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{byeditor+others} + \setunit{\titleaddonpunct}\newblock + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\bibpagespunct} + \newunit\newblock + \iffieldundef{series} + {}% + {\usebibmacro{series+number}} + \usebibmacro{finentry}} + +%% Article +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{journal+issuetitle}% + \newunit + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +%% Unpublished +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagespunct}% + \usebibmacro{location+date}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \usebibmacro{finentry}} + + +%% use option edsuper for turning superscripted edition on/off + +\newbool{bbx:editionstring} +\newbool{bbx:edsuper} + +\DeclareBibliographyOption{editionstring}[true]{% + \csuse{bool#1}{bbx:editionstring}} +\DeclareBibliographyOption{edsuper}[true]{% + \csuse{bool#1}{bbx:edsuper}} + +%% DeclareFieldFormat edition +\DeclareFieldFormat{edition}{% + \ifinteger{#1} + {\mkbibordedition{#1}~\bibstring{edition}} + {\ifbool{bbx:editionstring} + {#1\addspace\bibstring{edition}\isdot} + {#1\isdot}}} + +%% DeclareFieldFormat edition:super +\DeclareFieldFormat{edition:super}{% + \ifinteger{#1} + {\mkbibsuperscript{#1}} + {\blxdw@warning@noline{% + The 'edition' field of entry\MessageBreak + '\abx@field@entrykey' is not an integer.\MessageBreak + The edition will not be printed as\MessageBreak + superscript. Instead, the 'edition'\MessageBreak + field is printed completely}}} + +%% Test, if field is integer +\newcommand{\bbx@iffieldinteger}[1]{% + \iffieldundef{#1} + {\@secondoftwo} + {\edef\@tempa{\strfield{#1}}% + \expandafter\ifinteger\expandafter{\@tempa}}} + +%% for position of edition at the end: +%% if option edsuper true and +%%%% if field integer, do nothing +%%%% else print edition +%% else print edition +%% +\renewbibmacro*{publisher+location+date}{% + \printlist{location}% + \iflistundef{publisher} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + \ifbool{bbx:edsuper} + {\bbx@iffieldinteger{edition} + {}% + {\printfield{edition}% + \newunit}}% + {\printfield{edition}% + \newunit}} + +%% for position of edition (superscripted) at the beginning: +%% if option edsuper true and +%%%% if field integer, print edition superscripted +%%%% else do nothing +%% else do nothing +%% +\renewbibmacro*{date+extrayear}{% + \iffieldundef{year} + {}% + {\printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + {\printdateextra}% + {\ifbool{bbx:edsuper}% + {\bbx@iffieldinteger{edition}% + {\printfield[edition:super]{edition}}% + {}}% + {}}% + }}}% + + +%% put series and number into parenthesis +\renewbibmacro*{series+number}{% + \printtext[parens]{=\addhpthinspace\printfield{series}% + \setunit*{\addspace}% + \printfield{number}\nopunct% + }\setunit*{\addspace}\nopunct} + + +%% no comma before (eds.) +\renewbibmacro*{bbx:editor}[1]{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{editor}% + \setunit{\addspace}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{editor}% + \setunit{\addspace}}% + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\addspace}}% + \usebibmacro{date+extrayear}}% +% \usebibmacro{year}}% + + +%% byeditor: first-last (eds.) +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {\printnames[byeditor]{editor}% + \setunit{\addspace}% + \usebibmacro{editorstrg}% + \clearname{editor}% + \newunit}% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}} + + +%% deactivate series for journal +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + + +%% renew volume+number: colon as delimiter +\newbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\addcolon\space}% + \printfield{number}% + \setunit{\addcomma\space}% + \printfield{eid}} + + +%% listing of names: name/name/final name +\renewcommand{\multinamedelim}[0]{\addslash}% +\renewcommand*{\finalnamedelim}[0]{\addslash}% + + +%% change of german abbreviations +\DefineBibliographyStrings{german}{% + and={\&}, + editor={\addspace\mkbibparens {Hg\adddot}}, + editors={\addspace\mkbibparens {Hgg\adddot}}, + byeditor={Hg\addcolon\thinspace}, + andothers={et\addabbrvspace al\adddot}, + } + +%% change of english abbreviations +\DefineBibliographyStrings{english}{% + and={\&}, + editor={\addspace\mkbibparens {ed\adddot}}, + editors={\addspace\mkbibparens {eds\adddot}}, + byeditor={ed\addcolon\thinspace}, + andothers={et\addabbrvspace al\adddot}, + } + + +%% no quotation marks for article, inbook, ... +\DeclareFieldFormat + [article,inbook,incollection,inproceedings,patent,thesis,unpublished] + {title}{#1\isdot} + +%% colon after the word "in" +\renewbibmacro*{in:}{% + \printtext{% + \bibstring{in}\addcolon\space}} + +%% colon for "editor:" after "in:" +\newcommand*{\titleaddonpunct}{\addcolon\space} + +%% no "visited:" before urldate +\DeclareFieldFormat{urldate}{\mkbibparens{#1}} + +%% vertical spacing between entrys +\setlength{\bibitemsep}{0.8\baselineskip} + + +%% load style defaults +\ExecuteBibliographyOptions{% +maxnames=2, +maxbibnames=99, +dashed=false, +edsuper=true, +}% + +\endinput |