From 5466f6809edd0fb30c637cae824eb2473974b719 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Sep 2016 22:23:09 +0000 Subject: biblatex-claves (11sep16) git-svn-id: svn://tug.org/texlive/trunk@42066 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-claves/claves.bbx | 107 +++++++++++++++++++++ .../tex/latex/biblatex-claves/claves.dbx | 21 ++++ 2 files changed, 128 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/biblatex-claves/claves.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-claves/claves.dbx (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/biblatex-claves/claves.bbx b/Master/texmf-dist/tex/latex/biblatex-claves/claves.bbx new file mode 100644 index 00000000000..2b8a9fa7446 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-claves/claves.bbx @@ -0,0 +1,107 @@ +%% Copyright 2016-… Maïeul Rouquette +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Maïeul Rouquette +% This work consists of the files claves.dbx, claves.bbx +% 0. Preamble + +\ProvidesFile{claves.dbx}[2016/09/11 v1.0.0 biblatex bibliography style (MR)] + +\ifdef{\biblatexmultipledm@bibstyle} + {\RequireBibliographyStyle{\biblatexmultipledm@bibstyle}} + {\RequireBibliographyStyle{verbose}} + + +\RequirePackage{xpatch} + +% 1. Tools to declare new clavis +\newcommand{\AddBiblatexClavis}[1]{% + \appto\biblatex@claves{#1,}% + \DeclareStyleSourcemap{% + \maps[datatype=bibtex]{% + \map[overwrite]{% + \step[fieldsource=#1,final]% + \step[fieldset=claves,fieldvalue={\string\multiclavesseparator\space#1\string\clavisseparator{}},append]% + \step[fieldset=claves,origfieldval, append] + }% + }% + }% + +} + +% 2. Format +\newcommand{\multiclavesseparator}{\addsemicolon\ifpunct{\addspace}{}} +\newcommand{\clavisseparator}{\addspace} +\DeclareFieldFormat{claves}{\mkbibparens{#1}} + +% 3. Patching macro standard to add claves + +\newcommand{\@biblatex@claves@bibmacronotpatched}[1]{% + \PackageError{biblatex-claves}{Fail when patching `#1' bibmacro}% +}% + +\xpatchbibmacro{title} + {\newunit} + {\usebibmacro{claves}} + {} + {\@biblatex@claves@bibmacronotpatched{title}} + +\newbibmacro{claves}{% + \iffieldundef{claves}% + {}% + { + \nopunct% + \setunit{\addspace}% + \printfield{claves} + }% + \newunit% +} + +%4. List of claves + +\newcommand{\citeallclaves}{\nocite{\biblatex@claves}} + +\newcommand{\@biblatex@claves@bibdrivernotpatched}[1]{% + \PackageError{biblatex-claves}{Fail when patching `#1' bibdriver}% +}% + +\newcommand{\clavesadddashinset}{% + \xpatchbibdriver{set} + {\booltrue{bbx@inset}} + {}% + {}% + {\@biblatex@claves@bibdrivernotpatched{claves}}% +} +\defbibenvironment{claves}%Inspired from shorthand environment + {\list + {\printfield[labelwidth]{entrykey}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}% + \renewcommand{\entrysetpunct}{\endgraf}%Break between set of an enty + \clavesadddashinset%Add the dash inside set (modify default style) + }% + } + {\endlist} + {\item} + +\DeclareSortingScheme{claves}{ + \sort{ + \field{entrykey} + } +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-claves/claves.dbx b/Master/texmf-dist/tex/latex/biblatex-claves/claves.dbx new file mode 100644 index 00000000000..f4a3a3e65ba --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-claves/claves.dbx @@ -0,0 +1,21 @@ +%% Copyright 2016-… Maïeul Rouquette +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Maïeul Rouquette +% This work consists of the files claves.dbx, claves.bbx +\ProvidesFile{claves.dbx} +[2016/09/11 v1.0.0 biblatex bibliography style (MR)] +\DeclareDatamodelFields[type=field,datatype=literal]{% + claves% +} + +\endinput \ No newline at end of file -- cgit v1.2.3