summaryrefslogtreecommitdiff
path: root/german-legal-book.cbx
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2020-11-15 11:22:29 +0100
committerDominik Brodowski <linux@dominikbrodowski.net>2020-11-15 11:22:29 +0100
commit3bc8fd0e66ba9f53ef4c2dcde770e641dc380131 (patch)
treeea6a250c35012ebdd01d4e9e46cdfef2323e6914 /german-legal-book.cbx
parent2af7956404e38f8a18a8f8412d423897b0e06aa2 (diff)
downloadbiblatex-german-legal-3bc8fd0e66ba9f53ef4c2dcde770e641dc380131.tar.gz
german-legal-book: Zitierung von Sammelbandbeiträgen nach Randnummern
Mittels Angabe von pagination = {section} bei einem @inbook-Eintrag lässt sich eine Zitierung nach Randnummern aktivieren. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'german-legal-book.cbx')
-rw-r--r--german-legal-book.cbx37
1 files changed, 31 insertions, 6 deletions
diff --git a/german-legal-book.cbx b/german-legal-book.cbx
index b6ace20..7c18a20 100644
--- a/german-legal-book.cbx
+++ b/german-legal-book.cbx
@@ -26,6 +26,16 @@
\setboolean{book:edition:super}{#1}%
}
+%%% Für eine Zitierung nach Randnummern sei ein neuer String namens
+%%% 'marginnumber' definiert.
+\NewBibliographyString{marginnumber}
+\DefineBibliographyStrings{english}{%
+ marginnumber = {mn.}
+}
+\DefineBibliographyStrings{german}{%
+ marginnumber = {Rn.}
+}
+
%%%%%%%%%%%%%%%%%%%%%%%%
%%% Allgemeiner Teil %%%
@@ -177,15 +187,28 @@
%%%%%%%%%%%%%%
%%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die
-%%% Startseite ausgegeben werden.
+%%% Startseite (mit S. vorneweg) ausgegeben werden.
\AtEveryCite{%
- \DeclareFieldFormat[inbook]{pages}{\mkfirstpage{#1}}%
+ \DeclareFieldFormat[inbook]{pages}{%
+ \iffieldequalstr{pagination}{section}{%
+ %%% if we cite by margin number, just have the section printed here...
+ \mkfirstpage{#1}%
+ }{%
+ %%% otherwise, print the page prefix and the first page here...
+ \bibstring{page}~\mkfirstpage{#1}%
+ }%
+ }%
}
%%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote,
%%% so soll zunächst die Startseite und danach die genaue Fundstelle in
-%%% einer Klammer ausgegeben werden.
-\DeclareFieldFormat[inbook]{postnote}{\printfield{pages} \mkbibparens{#1}}
+%%% einer Klammer ausgegeben werden. Ausnahme: Ist als pagination 'section'
+%%% angegeben, so erfolgt eine Ausgabe nach Randnummern.
+\DeclareFieldFormat[inbook]{postnote}{%
+ \printfield{pages}%
+ \addspace%
+ \iffieldequalstr{pagination}{section}{\bibstring{marginnumber}~#1}{\mkbibparens{#1}}%
+}
%%% Herausgebernamen in der Fußnote dürfen abgekürzt werden
\AtEveryCite{%
@@ -223,9 +246,11 @@
%%%%%%%%%%%%%%%%%%%%
%%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die
-%%% Startseite ausgegeben werden.
+%%% Startseite (mit S. vorneweg) ausgegeben werden.
\AtEveryCite{%
- \DeclareFieldFormat[incollection]{pages}{\mkfirstpage{#1}}%
+ \DeclareFieldFormat[incollection]{pages}{%
+ \bibstring{page}~\mkfirstpage{#1}%
+ }%
}
%%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote,