From 6bcb84eaba2cfe1aaef9252456172d47286958ed Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 12 Feb 2016 00:20:37 +0000 Subject: biblatex-bookinarticle (11feb16) git-svn-id: svn://tug.org/texlive/trunk@39674 c570f23f-e606-0410-a88d-b1316a301751 --- .../biblatex-bookinarticle.sty | 91 ++++++++++++++++++++-- 1 file changed, 84 insertions(+), 7 deletions(-) (limited to 'Master/texmf-dist/tex/latex/biblatex-bookinarticle') diff --git a/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty b/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty index fcf4b5abcc1..257849909f5 100644 --- a/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty +++ b/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty @@ -1,4 +1,4 @@ -%% Copyright 2014 Maïeul Rouquette +%% Copyright 2014-… Maïeul Rouquette % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -12,7 +12,7 @@ % % The Current Maintainer of this work is Maïeul Rouquette \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{biblatex-bookinarticle}[2016/02/07 v1.2.0a Book in article and book in incollection with biblatex] +\ProvidesPackage{biblatex-bookinarticle}[2016/02/11 v1.3.0 Book in article, in incollection and in thesis with biblatex] % 1. The drivers \DeclareBibliographyDriver{inarticle}{% @@ -103,14 +103,77 @@ \setunit{\bibpagerefpunct}\newblock \usebibmacro{pageref}% \usebibmacro{finentry}} - -% 2. The alias + + +\DeclareBibliographyDriver{inthesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{booktitle}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printfield{type}% + \newunit + \usebibmacro{institution+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}} + +% 2. The alias and sourcemaps \DeclareBibliographyAlias{bookinarticle}{inarticle} \DeclareBibliographyAlias{bookinincollection}{inincollection} +\DeclareBibliographyAlias{bookinthesis}{inthesis} + +\DeclareDriverSourcemap[datatype=bibtex]{ + \map{ + \step[typesource=inmastersthesis, typetarget=inthesis, final] + \step[fieldset=type, fieldvalue=mathesis] + } + \map{ + \step[typesource=inphdthesis, typetarget=inthesis, final] + \step[fieldset=type, fieldvalue=phdthesis] + } + \map{ + \step[typesource=bookinmastersthesis, typetarget=inthesis, final] + \step[fieldset=type, fieldvalue=mathesis] + } + \map{ + \step[typesource=bookinphdthesis, typetarget=inthesis, final] + \step[fieldset=type, fieldvalue=phdthesis] + } +} % 3. The formats -\DeclareFieldFormat[inarticle,inincollection]{title}{\mkbibquote{#1\isdot}} -\DeclareFieldFormat[inincollection,bookinincollection]{booktitle}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[inarticle,inincollection,inthesis]{title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[inincollection,bookinincollection,inthesis,bookinthesis]{booktitle}{\mkbibquote{#1\isdot}} \DeclareFieldFormat[inarticle,bookinarticle]{maintitle}{\mkbibquote{#1\isdot}} % Inspired from biblatex.def @@ -129,6 +192,7 @@ \inherit{subtitle}{mainsubtitle}% } + \DeclareDataInheritance{incollection}{bookinincollection,inincollection}{ \inherit{author}{bookauthor}% \inherit{title}{booktitle}% @@ -137,9 +201,22 @@ \inherit{booksubtitle}{mainsubtitle}% } + +\DeclareDataInheritance{thesis,phdthesis,mathesis}{bookinthesis,inthesis,inphdthesis,inmathesis,bookinphdthesis,bookinmathesis}{ + \inherit{author}{bookauthor}% + \inherit{title}{booktitle}% + \inherit{subtitle}{booksubtitle}% +} + + %5. Label name -\DeclareLabelname[bookinincollection,bookinarticle]{ +\DeclareLabelname[bookinincollection,% + bookinarticle,% + bookinthesis,% + bookinphdthesis,% + bookinmathesis + ]{% \field{shortauthor} \field{author} } -- cgit v1.2.3