summaryrefslogtreecommitdiff
path: root/usergrps/dante/dtk/dtk.bbx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /usergrps/dante/dtk/dtk.bbx
Initial commit
Diffstat (limited to 'usergrps/dante/dtk/dtk.bbx')
-rw-r--r--usergrps/dante/dtk/dtk.bbx248
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