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 /usergrps/dante/dtk/dtk.bbx |
Initial commit
Diffstat (limited to 'usergrps/dante/dtk/dtk.bbx')
-rw-r--r-- | usergrps/dante/dtk/dtk.bbx | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/usergrps/dante/dtk/dtk.bbx b/usergrps/dante/dtk/dtk.bbx new file mode 100644 index 0000000000..381b7ab123 --- /dev/null +++ b/usergrps/dante/dtk/dtk.bbx @@ -0,0 +1,248 @@ +%% --------------------------------------------------------------- +%% biblatex-dtk --- A set of biblatex implementations of +%% dtk bibliography styles for DANTE's journal +%% "Die TeXnische Komödie" +%% Maintained by Herbert Voß +%% (C) herbert@dante.de +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% --------------------------------------------------------------- +%% +\ProvidesFile{dtk.bbx}[2018/07/11 v0.12 biblatex bibliography style for DTK] + +% Load the standard style to avoid copy-pasting unnecessary material +\RequireBibliographyStyle{chem-angew} +%\RequireBibliographyStyle{numeric} +%\RequireBibliographyStyle{authoryear} + +\DeclareBibliographyOption{dashed}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{pagetracker}% + \newbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} + {\newbibmacro*{bbx:savehash}{}}} + +\ExecuteBibliographyOptions + { + doi = true , + eprint = true , + giveninits = false, + isbn = true , + maxnames = 3 , + minnames = 1 , +% maxcitenames= 2 , +% pageranges = true , + url = true, + articletitle = true, + chaptertitle = true, +% biblabel = parens, + sorting = nyvt, + dashed = true, + datezeros = false, +} + + +\newbool{bbx@inset} +\providebibmacro*{date+extrayear}{} + + +\DeclareFieldFormat{date}{#1} +\DeclareFieldFormat{booktitle}{#1\isdot} +\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot} +\DeclareFieldFormat{removecomma}{\mkbibnocomma{#1}} +\DeclareFieldFormat{title}{#1\isdot} +\DeclareFieldFormat[ctan]{url}{\url{CTAN: #1}} + +\newbibmacro*{ctanurl+urldate}{% + \printfield{url} + \iffieldundef{urlyear} + {} + {\setunit*{\addspace}% + \usebibmacro{urldate}}} + +\DeclareListFormat{language}{}{} + +\renewbibmacro*{author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\printnames{author}\setunit{\addcolon\space}% + \iffieldundef{authortype} + {} + {\setunit{\addcolon\space}% + \usebibmacro{authorstrg}}} + {}} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addcomma\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + +\renewcommand*\labelnamepunct{\addcolon\addspace} + +\DeclareNameFormat{default}{% + \nameparts{#1}% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% +% \usebibmacro{name:given-family}\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix} + \usebibmacro{name:andothers}} + +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + )% + }{#1}{#2}} + +\renewbibmacro*{author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\usebibmacro{bbx:savehash}% + \printnames{author}% + \iffieldundef{authortype} + {\setunit{\addspace}} + {\setunit{\addcomma\space}}}% + \iffieldundef{authortype} + {} + {\usebibmacro{authorstrg}% + \setunit{\addspace}}}% + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\addspace}}% + \usebibmacro{date+extrayear}} + +\renewcommand*\bibnamedash{\textemdash\hspace{1em}}% +% \ifdimless{\leftmargin}{0.75em} +% {\mbox{\textemdash\space}} +% {\makebox[\leftmargin][l]{% +% \ifdimless{\leftmargin}{1.25em} +% {\textendash} +% {\textemdash}}}} + + + +\DeclareBibliographyDriver{ctan}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct} %\newblock + \usebibmacro{title}% +% \newunit +% \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit %\newblock + \usebibmacro{byeditor+others}% + \newunit %\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit %\newblock + \printlist{organization}% + \newunit\newblock + \usebibmacro{date}% + \newunit %\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit %\newblock + \usebibmacro{ctanurl+urldate}% + \newunit %\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +% + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{maintitle+title}% + \newunit + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \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}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}% +} + + + + + +%\setlength\labelnumberwidth{1.5em} +%\setlength\biblabelsep{1em} +\defbibenvironment{dtk@bib} + {\list + {\printtext[labelnumberwidth]{% + \printfield{prefixnumber}% + \printfield{labelnumber}}} + {\setlength{\labelwidth}{\labelnumberwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{\hss##1}% + \RaggedRight} + {\endlist} + {\item} + +%% +%% +\endinput |