summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-claves
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-09-14 22:23:09 +0000
committerKarl Berry <karl@freefriends.org>2016-09-14 22:23:09 +0000
commit5466f6809edd0fb30c637cae824eb2473974b719 (patch)
treeb39215f37ea8295d6c3ce15c36faaf680f08f3ce /Master/texmf-dist/tex/latex/biblatex-claves
parent732978038049341f31f21b66f848441dd5c5bc51 (diff)
biblatex-claves (11sep16)
git-svn-id: svn://tug.org/texlive/trunk@42066 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-claves')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-claves/claves.bbx107
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-claves/claves.dbx21
2 files changed, 128 insertions, 0 deletions
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