summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx125
1 files changed, 82 insertions, 43 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx
index 462231a704f..36d8e3966b4 100644
--- a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx
@@ -1,6 +1,15 @@
-% standard-dw.bbx, Dominik Waßenhoven 2011
+% standard-dw.bbx, Dominik Waßenhoven 2012
-\ProvidesFile{standard-dw.bbx}[2011/11/20 v1.4 biblatex bibliography style]
+\ProvidesFile{standard-dw.bbx}[2012/06/28 v1.5 biblatex bibliography style]
+
+\@ifpackagelater{biblatex}{2011/11/13}
+ {}
+ {\PackageError{biblatex-dw}
+ {Outdated 'biblatex' package\MessageBreak
+ Upgrade to biblatex v1.7 (2011/11/13) or later.\MessageBreak
+ I found: '\csuse{ver@biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now}%
+ \endinput}
\RequireBibliographyStyle{standard}
@@ -152,17 +161,51 @@
{\printnames{author}}%
\setunit{\labelnamepunct}}%
\iffieldundef{booktitle}
- {\usebibmacro{maintitle+title}}
- {\usebibmacro{title}%
+ {\usebibmacro{maintitle+title-terselos}}
+ {\printfield{title}%
\newunit\newblock
\usebibmacro{in:}%
- \usebibmacro{maintitle+booktitle}}%
+ \usebibmacro{maintitle+booktitle-terselos}}%
\finentry}
{\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}%
\finentry}}
+\newbibmacro*{maintitle+title-terselos}{%
+ \iffieldsequal{maintitle}{title}
+ {\clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}}
+ {\iffieldundef{maintitle}
+ {}
+ {\printfield{maintitle}%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {\iffieldundef{volumes}
+ {}
+ {\printfield{volumes}%
+ \setunit{\addcomma\space}}%
+ \printfield{volume}%
+ \printfield{part}%
+ \setunit{\addcolon\space}}}}%
+ \printfield{title}%
+ \newunit}
+
+\newbibmacro*{maintitle+booktitle-terselos}{%
+ \iffieldundef{maintitle}
+ {}
+ {\printfield{maintitle}%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addcolon\space}}}%
+ \printfield{booktitle}%
+ \newunit}
+
\DeclareBibliographyDriver{shorthands}{%
\toggletrue{listofshorthands}%
\usebibmacro{terselos}}
@@ -208,17 +251,17 @@
\newcommand*{\shorthandinbibpunct}{\addspace}
\renewbibmacro*{begentry}{%
\ifboolexpr{
- test {\ifcitation}
- or
- togl {listofshorthands}
+ bool {bbx:shorthandinbib}
+ and not
+ ( test {\ifcitation}
+ or
+ togl {listofshorthands} )
}
- {}% im Zitat und der langen List of Shorthands sollen shorthands nicht ausgegeben werden
- {\ifbool{bbx:shorthandinbib}
- {\iffieldundef{shorthand}
- {}
- {\printfield[shorthandinbib]{shorthand}%
- \shorthandinbibpunct}}% ohne \setunit, damit das auf jeden Fall ausgegeben wird
- {}}}
+ {\iffieldundef{shorthand}
+ {}
+ {\printfield[shorthandinbib]{shorthand}%
+ \nopunct\shorthandinbibpunct}}
+ {}}
%% bei useeditor=true oder usetranslator=true
\newbibmacro*{useeditor+others}{%
@@ -252,7 +295,7 @@
\setunit{\labelnamepunct}\newblock}
\newbibmacro*{usetranslator}{%
- {\ifnamesequal{author}{translator}
+ \ifnamesequal{author}{translator}
{\ifbool{bbx:edbyidem}
{\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}%
\addspace}%
@@ -265,7 +308,6 @@
\usebibmacro{translatorstrg}%
\clearname{translator}%
\setunit{\labelnamepunct}\newblock}
- {}}
%% Wenn 'volumes' und 'volume' angegeben sind,
%% 'volumes' immer vor 'volume' ausgeben
@@ -363,13 +405,15 @@
\xifinlistcs{\strfield{xref}}{novolume@xrefparent}
{\iffieldundef{volume}
{}
- {\xifinlistcs{\strfield{xref}}{citedas@xrefparent}
- {\ifbool{cbx:xrefparent:firstcite}
+ {\ifbibliography
+ {\setunit{\addspace}}
+ {\xifinlistcs{\strfield{xref}}{citedas@xrefparent}
+ {\ifbool{cbx:xrefparent:firstcite}
+ {\newunit
+ \printtext{\bibstring{volume}\addspace}}
+ {\setunit{\addspace}}}
{\newunit
- \printtext{\bibstring{volume}\addspace}}
- {\setunit{\addspace}}}
- {\newunit
- \printtext{\bibstring{volume}\addspace}}%
+ \printtext{\bibstring{volume}\addspace}}}%
\printfield{volume}%
\iffieldxref{year}% wenn 'year' bei child und parent gleich
{}
@@ -862,9 +906,7 @@
\ifbool{cbx:idemfull}
{}
{\usebibmacro{editor+others/translator+others}%
- \ifnameundef{labelname}
- {}
- {\setunit{\labelnamepunct}}}%
+ \setunit*{\labelnamepunct}}%
\usebibmacro{maintitle+title}%
\newunit
\printlist{language}%
@@ -903,7 +945,9 @@
\usebibmacro{pageref}%
\usebibmacro{finentry}}
+\newbool{xref:inbook}%
\DeclareBibliographyDriver{inbook}{%
+ \booltrue{xref:inbook}% the child is an inbook
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\ifbool{cbx:idemfull}
@@ -919,20 +963,11 @@
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
- \ifboolexpr{
- test \ifuseeditor
- or
- test \ifusetranslator
- }
- {\ifnamexref{labelname}%
- {\booltrue{xrefidem}}%
- {\boolfalse{xrefidem}}}
- {\usebibmacro{authedxrefcheck}%
- \usebibmacro{authauthxrefcheck}%
- \ifbool{cbx:authedxref}
- {\booltrue{xrefidem}}
- {\boolfalse{xrefidem}}}%
- \ifbool{bbx:xref}
+ \usebibmacro{authauthxrefcheck}%
+ \ifbool{cbx:authauthxref}
+ {\booltrue{xrefidem}}
+ {\boolfalse{xrefidem}}%
+ \ifbool{bbx:xref}
{\iffieldundef{xref}%
{% Code, wenn kein xref vorhanden
\usebibmacro{noxref:inbook}}%
@@ -962,7 +997,7 @@
\ifbool{cbx:authedxref}
{\booltrue{xrefidem}}
{\boolfalse{xrefidem}}%
- \ifbool{bbx:xref}
+ \ifbool{bbx:xref}
{\iffieldundef{xref}
{% Code, wenn kein xref vorhanden
\usebibmacro{noxref:incollection}}
@@ -1462,7 +1497,9 @@
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
- \usebibmacro{ifuse:byeditor+others}%
+ \ifbool{xref:inbook}% child is an @inbook entry
+ {\usebibmacro{byeditor+others}}
+ {\usebibmacro{ifuse:byeditor+others}}%
\newunit\newblock
\usebibmacro{edition}%
\usebibmacro{volumes+volume+part}%
@@ -1610,7 +1647,9 @@
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
- \usebibmacro{ifuse:byeditor+others}%
+ \ifbool{xref:inbook}% child is an @inbook entry
+ {\usebibmacro{byeditor+others}}
+ {\usebibmacro{ifuse:byeditor+others}}%
\newunit\newblock
\usebibmacro{edition}%
\usebibmacro{volumes+volume+part}%