summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-24 22:36:25 +0000
committerKarl Berry <karl@freefriends.org>2014-06-24 22:36:25 +0000
commit084a4d47bb53b4091f81ab09e8cff78d684c3107 (patch)
treeb052ec042c85041920033ce9e6f42158b52fcc21 /Master/texmf-dist/tex/latex/biblatex/blx-dm.def
parent333c407d9e5338320d940a17eafbf69abd3017cc (diff)
http://events.brucecareyrestaurants.com/bluehour (24jun14)
git-svn-id: svn://tug.org/texlive/trunk@34385 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/blx-dm.def')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-dm.def60
1 files changed, 47 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
index c275d1e57ff..5646a3f55e6 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
@@ -1,6 +1,7 @@
% -*- mode: LaTeX -*-
\newbool{dmskipout}%
+\newbool{dmlabelfield}%
% Data model .bcf output macros
\xdef\blx@xml@datamodel#1{%
@@ -64,6 +65,7 @@
\global\cslet{blx@biber@datamodel@entrytypes}\@empty}
\newrobustcmd*{\ResetDatamodelFields}{%
+ \global\cslet{blx@biber@datamodel@labelfields}\@empty
\global\cslet{blx@bcf@datamodel@fields}\@empty
\global\cslet{blx@biber@datamodel@fields}\@empty
\global\cslet{blx@biber@datamodel@names}\@empty
@@ -101,9 +103,18 @@
\let\blx@dm@datatype\@empty
\let\blx@dm@format\@empty
\boolfalse{dmskipout}%
+ \boolfalse{dmlabelfield}%
\let\blx@tempa\@empty
\setkeys{blx@datamodel@field}{#1}%
\def\do##1{%
+ \ifboolexpr{% add to list of label fields
+ not bool {dmskipout}
+ and
+ bool {dmlabelfield}
+ and
+ not test {\ifinlistcs{##1}{blx@biber@datamodel@labelfields}}}
+ {\listcsgadd{blx@biber@datamodel@labelfields}{##1}}
+ {}%
\ifboolexpr{% add to list of names if it is a name which appears in .bbl
not bool {dmskipout}
and
@@ -119,6 +130,10 @@
( test {\ifcsstring{blx@dm@datatype}{literal}}
or
test {\ifcsstring{blx@dm@datatype}{key}}
+ or
+ test {\ifcsstring{blx@dm@datatype}{uri}}
+ or
+ test {\ifcsstring{blx@dm@datatype}{verbatim}}
)
and
not test {\ifinlistcs{##1}{blx@biber@datamodel@lists}}}
@@ -134,14 +149,24 @@
test {\ifcsstring{blx@dm@datatype}{literal}}
)
or
- ( test {\ifcsstring{blx@dm@type}{field}}
+ ( test {\ifcsstring{blx@dm@type}{list}}
and
- test {\ifcsstring{blx@dm@datatype}{code}}
+ test {\ifcsstring{blx@dm@datatype}{key}}
)
or
( test {\ifcsstring{blx@dm@type}{list}}
and
- test {\ifcsstring{blx@dm@datatype}{key}}
+ test {\ifcsstring{blx@dm@datatype}{uri}}
+ )
+ or
+ ( test {\ifcsstring{blx@dm@type}{list}}
+ and
+ test {\ifcsstring{blx@dm@datatype}{verbatim}}
+ )
+ or
+ ( test {\ifcsstring{blx@dm@type}{field}}
+ and
+ test {\ifcsstring{blx@dm@datatype}{code}}
)
or
test {\ifinlistcs{##1}{blx@biber@datamodel@fields}}}
@@ -170,6 +195,11 @@
{\appto\blx@tempa{ skip\string_output="true"}%
\booltrue{dmskipout}}
{}}
+\define@key{blx@datamodel@field}{label}[true]{% true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempa{ label="true"}%
+ \booltrue{dmlabelfield}}
+ {}}
\newrobustcmd*{\DeclareDatamodelEntryfields}[2][]{%
\begingroup
@@ -389,11 +419,7 @@
relatedtype,
reprinttitle,
series,
- shorthand,
shorthandintro,
- shortjournal,
- shortseries,
- shorttitle,
subtitle,
title,
titleaddon,
@@ -408,6 +434,12 @@
volume,
volumes}
+\DeclareDatamodelFields[type=field, datatype=literal, label=true]{
+ shorthand,
+ shortjournal,
+ shortseries,
+ shorttitle}
+
\DeclareDatamodelFields[type=field, datatype=datepart, nullok]{
urlendyear,
endyear,
@@ -451,10 +483,12 @@
namea,
nameb,
namec,
- shortauthor,
- shorteditor,
translator}
+\DeclareDatamodelFields[type=list, datatype=name, label=true]{
+ shortauthor,
+ shorteditor}
+
\DeclareDatamodelFields[type=list, datatype=name, skipout]{sortname}
\DeclareDatamodelFields[type=field, datatype=key]{
@@ -494,12 +528,12 @@
\DeclareDatamodelFields[type=field, datatype=uri]{url}
-\DeclareDatamodelFields[type=field, format=csv, datatype=entrykey, skipout]{xdata, ids, entryset}
-\DeclareDatamodelFields[type=field, format=csv, datatype=entrykey]{related}
+\DeclareDatamodelFields[type=field, format=xsv, datatype=entrykey, skipout]{xdata, ids, entryset}
+\DeclareDatamodelFields[type=field, format=xsv, datatype=entrykey]{related}
-\DeclareDatamodelFields[type=field, format=csv, datatype=keyword]{keywords}
+\DeclareDatamodelFields[type=field, format=xsv, datatype=keyword]{keywords}
-\DeclareDatamodelFields[type=field, format=csv, datatype=option, skipout]{options, relatedoptions}
+\DeclareDatamodelFields[type=field, format=xsv, datatype=option, skipout]{options, relatedoptions}
\DeclareDatamodelFields[type=field, datatype=range]{pages}
\DeclareDatamodelFields[type=field, datatype=code]{execute}