%% ---------------------------------------------------------------
%% biblatex-dtk --- A set of biblatex implementations of
%% dtk bibliography styles for DANTE's journal
%% "Die TeXnische Komödie"
%% Maintained by Herbert Voß
%% (C)
[email protected]
%% Released under the LaTeX Project Public License v1.3c or later
%% See
http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
\ProvidesFile{dtk.bbx}[2024/01/20 v0.13 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}}
\DeclareFieldFormat[article]{number}{\mkbibemph{#1}}
\DeclareFieldFormat{isbn}{ISBN\addcolon\space #1}
\DeclareFieldFormat{isrn}{ISRN\addcolon\space #1}
\DeclareFieldFormat{issn}{ISSN\addcolon\space #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