Is it possible to have several entries in a bibtex-date field?












1















My documents are often referring to articles that span several issues of the same journal, as in the following example. In building the file, biber complains that this would not be a correct date format and accordingly, the date is omitted from the reference output.



This is kind of an expected behaviour since the bibtex date format has to be YYYY-MM-DD, as I understand it.



But: is there a way to include several dates for an article?



Here is the example:



@ARTICLE{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
year = {1856},
pages = {6-8, 11-12},
number = {2,3},
date = {1856-01-24,1856-02-07},
timestamp = {2011.12.12}
}


I'm using JabRef, TexLive, Kile, XeLaTex, Biblatex-Biber.










share|improve this question























  • There's an eventdate field. I've never used though, and the documentation for biblatex doesn't say much about it.

    – Gonzalo Medina
    Mar 11 '15 at 13:20











  • Welcome to TeX.SX! I would be inclined to make an EntrySet out of the different parts.

    – Andrew Swann
    Mar 11 '15 at 13:25











  • @Gonzalo Medina: If I understand it correctly, you can have date spans, but not several separated dates - notwithstanding if it's ´date´, ´eventdate´ or ´origdate´.

    – shevek
    Mar 11 '15 at 13:26













  • You can have date spans, but not two dates in the date fields. The (maybe in some cases too simplifying) idea being that a particular work will have been published at one exact date (spans then are for multi-volumes, or for conference dates etc.). In your case, however I would go for two different .bib entries, both works are separated by the fact that they appeared in different numbers of a journal (not even on consecutive pages), maybe combined into one @set.

    – moewe
    Mar 11 '15 at 15:41











  • See also Serial Articles -- Articles in Installments / relatedtype=serial.

    – moewe
    Mar 11 '15 at 16:17
















1















My documents are often referring to articles that span several issues of the same journal, as in the following example. In building the file, biber complains that this would not be a correct date format and accordingly, the date is omitted from the reference output.



This is kind of an expected behaviour since the bibtex date format has to be YYYY-MM-DD, as I understand it.



But: is there a way to include several dates for an article?



Here is the example:



@ARTICLE{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
year = {1856},
pages = {6-8, 11-12},
number = {2,3},
date = {1856-01-24,1856-02-07},
timestamp = {2011.12.12}
}


I'm using JabRef, TexLive, Kile, XeLaTex, Biblatex-Biber.










share|improve this question























  • There's an eventdate field. I've never used though, and the documentation for biblatex doesn't say much about it.

    – Gonzalo Medina
    Mar 11 '15 at 13:20











  • Welcome to TeX.SX! I would be inclined to make an EntrySet out of the different parts.

    – Andrew Swann
    Mar 11 '15 at 13:25











  • @Gonzalo Medina: If I understand it correctly, you can have date spans, but not several separated dates - notwithstanding if it's ´date´, ´eventdate´ or ´origdate´.

    – shevek
    Mar 11 '15 at 13:26













  • You can have date spans, but not two dates in the date fields. The (maybe in some cases too simplifying) idea being that a particular work will have been published at one exact date (spans then are for multi-volumes, or for conference dates etc.). In your case, however I would go for two different .bib entries, both works are separated by the fact that they appeared in different numbers of a journal (not even on consecutive pages), maybe combined into one @set.

    – moewe
    Mar 11 '15 at 15:41











  • See also Serial Articles -- Articles in Installments / relatedtype=serial.

    – moewe
    Mar 11 '15 at 16:17














1












1








1


3






My documents are often referring to articles that span several issues of the same journal, as in the following example. In building the file, biber complains that this would not be a correct date format and accordingly, the date is omitted from the reference output.



This is kind of an expected behaviour since the bibtex date format has to be YYYY-MM-DD, as I understand it.



But: is there a way to include several dates for an article?



Here is the example:



@ARTICLE{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
year = {1856},
pages = {6-8, 11-12},
number = {2,3},
date = {1856-01-24,1856-02-07},
timestamp = {2011.12.12}
}


I'm using JabRef, TexLive, Kile, XeLaTex, Biblatex-Biber.










share|improve this question














My documents are often referring to articles that span several issues of the same journal, as in the following example. In building the file, biber complains that this would not be a correct date format and accordingly, the date is omitted from the reference output.



This is kind of an expected behaviour since the bibtex date format has to be YYYY-MM-DD, as I understand it.



But: is there a way to include several dates for an article?



Here is the example:



@ARTICLE{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
year = {1856},
pages = {6-8, 11-12},
number = {2,3},
date = {1856-01-24,1856-02-07},
timestamp = {2011.12.12}
}


I'm using JabRef, TexLive, Kile, XeLaTex, Biblatex-Biber.







biblatex bibtex






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 11 '15 at 13:13









shevekshevek

528




528













  • There's an eventdate field. I've never used though, and the documentation for biblatex doesn't say much about it.

    – Gonzalo Medina
    Mar 11 '15 at 13:20











  • Welcome to TeX.SX! I would be inclined to make an EntrySet out of the different parts.

    – Andrew Swann
    Mar 11 '15 at 13:25











  • @Gonzalo Medina: If I understand it correctly, you can have date spans, but not several separated dates - notwithstanding if it's ´date´, ´eventdate´ or ´origdate´.

    – shevek
    Mar 11 '15 at 13:26













  • You can have date spans, but not two dates in the date fields. The (maybe in some cases too simplifying) idea being that a particular work will have been published at one exact date (spans then are for multi-volumes, or for conference dates etc.). In your case, however I would go for two different .bib entries, both works are separated by the fact that they appeared in different numbers of a journal (not even on consecutive pages), maybe combined into one @set.

    – moewe
    Mar 11 '15 at 15:41











  • See also Serial Articles -- Articles in Installments / relatedtype=serial.

    – moewe
    Mar 11 '15 at 16:17



















  • There's an eventdate field. I've never used though, and the documentation for biblatex doesn't say much about it.

    – Gonzalo Medina
    Mar 11 '15 at 13:20











  • Welcome to TeX.SX! I would be inclined to make an EntrySet out of the different parts.

    – Andrew Swann
    Mar 11 '15 at 13:25











  • @Gonzalo Medina: If I understand it correctly, you can have date spans, but not several separated dates - notwithstanding if it's ´date´, ´eventdate´ or ´origdate´.

    – shevek
    Mar 11 '15 at 13:26













  • You can have date spans, but not two dates in the date fields. The (maybe in some cases too simplifying) idea being that a particular work will have been published at one exact date (spans then are for multi-volumes, or for conference dates etc.). In your case, however I would go for two different .bib entries, both works are separated by the fact that they appeared in different numbers of a journal (not even on consecutive pages), maybe combined into one @set.

    – moewe
    Mar 11 '15 at 15:41











  • See also Serial Articles -- Articles in Installments / relatedtype=serial.

    – moewe
    Mar 11 '15 at 16:17

















There's an eventdate field. I've never used though, and the documentation for biblatex doesn't say much about it.

– Gonzalo Medina
Mar 11 '15 at 13:20





There's an eventdate field. I've never used though, and the documentation for biblatex doesn't say much about it.

– Gonzalo Medina
Mar 11 '15 at 13:20













Welcome to TeX.SX! I would be inclined to make an EntrySet out of the different parts.

– Andrew Swann
Mar 11 '15 at 13:25





Welcome to TeX.SX! I would be inclined to make an EntrySet out of the different parts.

– Andrew Swann
Mar 11 '15 at 13:25













@Gonzalo Medina: If I understand it correctly, you can have date spans, but not several separated dates - notwithstanding if it's ´date´, ´eventdate´ or ´origdate´.

– shevek
Mar 11 '15 at 13:26







@Gonzalo Medina: If I understand it correctly, you can have date spans, but not several separated dates - notwithstanding if it's ´date´, ´eventdate´ or ´origdate´.

– shevek
Mar 11 '15 at 13:26















You can have date spans, but not two dates in the date fields. The (maybe in some cases too simplifying) idea being that a particular work will have been published at one exact date (spans then are for multi-volumes, or for conference dates etc.). In your case, however I would go for two different .bib entries, both works are separated by the fact that they appeared in different numbers of a journal (not even on consecutive pages), maybe combined into one @set.

– moewe
Mar 11 '15 at 15:41





You can have date spans, but not two dates in the date fields. The (maybe in some cases too simplifying) idea being that a particular work will have been published at one exact date (spans then are for multi-volumes, or for conference dates etc.). In your case, however I would go for two different .bib entries, both works are separated by the fact that they appeared in different numbers of a journal (not even on consecutive pages), maybe combined into one @set.

– moewe
Mar 11 '15 at 15:41













See also Serial Articles -- Articles in Installments / relatedtype=serial.

– moewe
Mar 11 '15 at 16:17





See also Serial Articles -- Articles in Installments / relatedtype=serial.

– moewe
Mar 11 '15 at 16:17










2 Answers
2






active

oldest

votes


















4














There is no way to add multiple dates to any of biblatex's date fields, you can add a date span though, but that is not what we want here.



Normally, a work is published on one specific date and there is no need for multiple dates.
One of the few cases where this is actually a problem is in cases of multiple instalments of an article or multi-volume books. biblatex can deal with multi-volume books quite well out of the box, so we will focus on adding a similar support for series articles.



We will have a look at how biblatex handles multi-volume books first. In biblatex-examples.bib you will find



@book{knuth:ct:related,
author = {Knuth, Donald E.},
title = {Computers & Typesetting},
date = {1984/1986},
volumes = 5,
publisher = {Addison-Wesley},
location = {Reading, Mass.},
sortyear = {1984-0},
related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e},
relatedtype = {multivolume},
}


And then separate entries for all the volumes knuth:ct:a etc.



Some time ago there was a feature request about this on the biblatex bugtracker.
We will follow the idea there. Analogously to the multivolume approach above we create a relatedtype serialarticle.
For related serialarticles only volume, number, (eid, issue), date and the pages are printed (of course this could be extended to print additional fields, such as DOIs and URLs).



DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}


Your example then would look like this



@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}


It consist of a "main" entry that contains the invariants (author, title, also volume, should also have a date/year) and two dataonly entries for the actual parts that contains the number, date and pages (we also crossref it back to Lazarus1856 such that the two entries could also stand on their own).
The main entry relates back to its parts just like a multi-volume book does



  related     = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},


MWE



documentclass{article}
usepackage[utf8]{inputenc}
usepackage[T1]{fontenc}
usepackage{filecontents}
usepackage[style=authortitle,backend=biber]{biblatex}

begin{filecontents*}{jobname.bib}
@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}
end{filecontents*}

addbibresource{jobname.bib}
addbibresource{biblatex-examples.bib}


DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}

begin{document}
nocite{Lazarus1856,knuth:ct:related}
printbibliography
end{document}


enter image description here






share|improve this answer


























  • This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

    – shevek
    Mar 13 '15 at 11:34











  • @shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

    – moewe
    Mar 13 '15 at 11:47











  • Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

    – shevek
    Mar 13 '15 at 11:53



















0














This is fiendishly clever. But isn't it also a bit insane?



If I'm cataloguing a two-volume book, where each volume was published in a different year, then it should be possible to say "date = {1996, 1997}". It's that simple. It's common sense. Rather than the verbose solution given above, biber/biblatex should be altered slightly to accomodate the real-world situation.



I guess the workaround is to use the year field.






share|improve this answer
























  • Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

    – gusbrs
    Jan 3 '18 at 9:35











  • It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

    – moewe
    Jan 4 '18 at 20:22











  • sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

    – Dominik
    Jan 5 '18 at 21:32











  • Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

    – Dominik
    Sep 6 '18 at 19:28













Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f232526%2fis-it-possible-to-have-several-entries-in-a-bibtex-date-field%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









4














There is no way to add multiple dates to any of biblatex's date fields, you can add a date span though, but that is not what we want here.



Normally, a work is published on one specific date and there is no need for multiple dates.
One of the few cases where this is actually a problem is in cases of multiple instalments of an article or multi-volume books. biblatex can deal with multi-volume books quite well out of the box, so we will focus on adding a similar support for series articles.



We will have a look at how biblatex handles multi-volume books first. In biblatex-examples.bib you will find



@book{knuth:ct:related,
author = {Knuth, Donald E.},
title = {Computers & Typesetting},
date = {1984/1986},
volumes = 5,
publisher = {Addison-Wesley},
location = {Reading, Mass.},
sortyear = {1984-0},
related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e},
relatedtype = {multivolume},
}


And then separate entries for all the volumes knuth:ct:a etc.



Some time ago there was a feature request about this on the biblatex bugtracker.
We will follow the idea there. Analogously to the multivolume approach above we create a relatedtype serialarticle.
For related serialarticles only volume, number, (eid, issue), date and the pages are printed (of course this could be extended to print additional fields, such as DOIs and URLs).



DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}


Your example then would look like this



@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}


It consist of a "main" entry that contains the invariants (author, title, also volume, should also have a date/year) and two dataonly entries for the actual parts that contains the number, date and pages (we also crossref it back to Lazarus1856 such that the two entries could also stand on their own).
The main entry relates back to its parts just like a multi-volume book does



  related     = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},


MWE



documentclass{article}
usepackage[utf8]{inputenc}
usepackage[T1]{fontenc}
usepackage{filecontents}
usepackage[style=authortitle,backend=biber]{biblatex}

begin{filecontents*}{jobname.bib}
@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}
end{filecontents*}

addbibresource{jobname.bib}
addbibresource{biblatex-examples.bib}


DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}

begin{document}
nocite{Lazarus1856,knuth:ct:related}
printbibliography
end{document}


enter image description here






share|improve this answer


























  • This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

    – shevek
    Mar 13 '15 at 11:34











  • @shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

    – moewe
    Mar 13 '15 at 11:47











  • Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

    – shevek
    Mar 13 '15 at 11:53
















4














There is no way to add multiple dates to any of biblatex's date fields, you can add a date span though, but that is not what we want here.



Normally, a work is published on one specific date and there is no need for multiple dates.
One of the few cases where this is actually a problem is in cases of multiple instalments of an article or multi-volume books. biblatex can deal with multi-volume books quite well out of the box, so we will focus on adding a similar support for series articles.



We will have a look at how biblatex handles multi-volume books first. In biblatex-examples.bib you will find



@book{knuth:ct:related,
author = {Knuth, Donald E.},
title = {Computers & Typesetting},
date = {1984/1986},
volumes = 5,
publisher = {Addison-Wesley},
location = {Reading, Mass.},
sortyear = {1984-0},
related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e},
relatedtype = {multivolume},
}


And then separate entries for all the volumes knuth:ct:a etc.



Some time ago there was a feature request about this on the biblatex bugtracker.
We will follow the idea there. Analogously to the multivolume approach above we create a relatedtype serialarticle.
For related serialarticles only volume, number, (eid, issue), date and the pages are printed (of course this could be extended to print additional fields, such as DOIs and URLs).



DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}


Your example then would look like this



@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}


It consist of a "main" entry that contains the invariants (author, title, also volume, should also have a date/year) and two dataonly entries for the actual parts that contains the number, date and pages (we also crossref it back to Lazarus1856 such that the two entries could also stand on their own).
The main entry relates back to its parts just like a multi-volume book does



  related     = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},


MWE



documentclass{article}
usepackage[utf8]{inputenc}
usepackage[T1]{fontenc}
usepackage{filecontents}
usepackage[style=authortitle,backend=biber]{biblatex}

begin{filecontents*}{jobname.bib}
@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}
end{filecontents*}

addbibresource{jobname.bib}
addbibresource{biblatex-examples.bib}


DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}

begin{document}
nocite{Lazarus1856,knuth:ct:related}
printbibliography
end{document}


enter image description here






share|improve this answer


























  • This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

    – shevek
    Mar 13 '15 at 11:34











  • @shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

    – moewe
    Mar 13 '15 at 11:47











  • Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

    – shevek
    Mar 13 '15 at 11:53














4












4








4







There is no way to add multiple dates to any of biblatex's date fields, you can add a date span though, but that is not what we want here.



Normally, a work is published on one specific date and there is no need for multiple dates.
One of the few cases where this is actually a problem is in cases of multiple instalments of an article or multi-volume books. biblatex can deal with multi-volume books quite well out of the box, so we will focus on adding a similar support for series articles.



We will have a look at how biblatex handles multi-volume books first. In biblatex-examples.bib you will find



@book{knuth:ct:related,
author = {Knuth, Donald E.},
title = {Computers & Typesetting},
date = {1984/1986},
volumes = 5,
publisher = {Addison-Wesley},
location = {Reading, Mass.},
sortyear = {1984-0},
related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e},
relatedtype = {multivolume},
}


And then separate entries for all the volumes knuth:ct:a etc.



Some time ago there was a feature request about this on the biblatex bugtracker.
We will follow the idea there. Analogously to the multivolume approach above we create a relatedtype serialarticle.
For related serialarticles only volume, number, (eid, issue), date and the pages are printed (of course this could be extended to print additional fields, such as DOIs and URLs).



DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}


Your example then would look like this



@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}


It consist of a "main" entry that contains the invariants (author, title, also volume, should also have a date/year) and two dataonly entries for the actual parts that contains the number, date and pages (we also crossref it back to Lazarus1856 such that the two entries could also stand on their own).
The main entry relates back to its parts just like a multi-volume book does



  related     = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},


MWE



documentclass{article}
usepackage[utf8]{inputenc}
usepackage[T1]{fontenc}
usepackage{filecontents}
usepackage[style=authortitle,backend=biber]{biblatex}

begin{filecontents*}{jobname.bib}
@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}
end{filecontents*}

addbibresource{jobname.bib}
addbibresource{biblatex-examples.bib}


DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}

begin{document}
nocite{Lazarus1856,knuth:ct:related}
printbibliography
end{document}


enter image description here






share|improve this answer















There is no way to add multiple dates to any of biblatex's date fields, you can add a date span though, but that is not what we want here.



Normally, a work is published on one specific date and there is no need for multiple dates.
One of the few cases where this is actually a problem is in cases of multiple instalments of an article or multi-volume books. biblatex can deal with multi-volume books quite well out of the box, so we will focus on adding a similar support for series articles.



We will have a look at how biblatex handles multi-volume books first. In biblatex-examples.bib you will find



@book{knuth:ct:related,
author = {Knuth, Donald E.},
title = {Computers & Typesetting},
date = {1984/1986},
volumes = 5,
publisher = {Addison-Wesley},
location = {Reading, Mass.},
sortyear = {1984-0},
related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e},
relatedtype = {multivolume},
}


And then separate entries for all the volumes knuth:ct:a etc.



Some time ago there was a feature request about this on the biblatex bugtracker.
We will follow the idea there. Analogously to the multivolume approach above we create a relatedtype serialarticle.
For related serialarticles only volume, number, (eid, issue), date and the pages are printed (of course this could be extended to print additional fields, such as DOIs and URLs).



DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}


Your example then would look like this



@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}


It consist of a "main" entry that contains the invariants (author, title, also volume, should also have a date/year) and two dataonly entries for the actual parts that contains the number, date and pages (we also crossref it back to Lazarus1856 such that the two entries could also stand on their own).
The main entry relates back to its parts just like a multi-volume book does



  related     = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},


MWE



documentclass{article}
usepackage[utf8]{inputenc}
usepackage[T1]{fontenc}
usepackage{filecontents}
usepackage[style=authortitle,backend=biber]{biblatex}

begin{filecontents*}{jobname.bib}
@article{Lazarus1856,
author = {Lazarus},
title = {Hebräische Poesie},
journal = {Literaturblatt des Deutschen Kunstblatts},
volume = {3},
date = {1856},
related = {Lazarus1856-1,Lazarus1856-2},
relatedtype = {serialarticle},
}
@article{Lazarus1856-1,
crossref = {Lazarus1856},
pages = {6-8},
number = {2},
date = {1856-01-24},
options = {dataonly},
}
@article{Lazarus1856-2,
crossref = {Lazarus1856},
pages = {11-12},
number = {3},
date = {1856-02-07},
options = {dataonly},
}
end{filecontents*}

addbibresource{jobname.bib}
addbibresource{biblatex-examples.bib}


DeclareFieldFormat{related:serialarticle}{#1}
renewcommand*{relateddelim}{%
iffieldequalstr{relatedtype}{serialarticle}
{addcommaspace}
{adddotparnobreak}}

newbibmacro*{related:serialarticle}[1]{%
entrydata{#1}{%
usebibmacro{volume+number+eid}%
setunit{addspace}%
usebibmacro{issue+date}%
setunit{addcolonspace}%
iffieldundef{pages}
{}
{setunit{bibpagespunct}%
printfield{pages}}}}

begin{document}
nocite{Lazarus1856,knuth:ct:related}
printbibliography
end{document}


enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Feb 1 at 19:11

























answered Mar 12 '15 at 9:50









moewemoewe

89.9k10110339




89.9k10110339













  • This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

    – shevek
    Mar 13 '15 at 11:34











  • @shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

    – moewe
    Mar 13 '15 at 11:47











  • Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

    – shevek
    Mar 13 '15 at 11:53



















  • This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

    – shevek
    Mar 13 '15 at 11:34











  • @shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

    – moewe
    Mar 13 '15 at 11:47











  • Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

    – shevek
    Mar 13 '15 at 11:53

















This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

– shevek
Mar 13 '15 at 11:34





This awesome answer resolves my question. One small additional question: Where would I put a nobreak or the like, in order to have the serial entries on the same line as the main entry, just separated by semicolons or commata?

– shevek
Mar 13 '15 at 11:34













@shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

– moewe
Mar 13 '15 at 11:47





@shevek This is done with relateddelim, I have added a solution to my answer that adds a comma.

– moewe
Mar 13 '15 at 11:47













Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

– shevek
Mar 13 '15 at 11:53





Great, that is exactly the solution for my problem. Thank you, moewe, for your great help, and sorry, I have to express my appreciation this way because I do not have enough repution yet to vote your answer up.

– shevek
Mar 13 '15 at 11:53











0














This is fiendishly clever. But isn't it also a bit insane?



If I'm cataloguing a two-volume book, where each volume was published in a different year, then it should be possible to say "date = {1996, 1997}". It's that simple. It's common sense. Rather than the verbose solution given above, biber/biblatex should be altered slightly to accomodate the real-world situation.



I guess the workaround is to use the year field.






share|improve this answer
























  • Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

    – gusbrs
    Jan 3 '18 at 9:35











  • It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

    – moewe
    Jan 4 '18 at 20:22











  • sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

    – Dominik
    Jan 5 '18 at 21:32











  • Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

    – Dominik
    Sep 6 '18 at 19:28


















0














This is fiendishly clever. But isn't it also a bit insane?



If I'm cataloguing a two-volume book, where each volume was published in a different year, then it should be possible to say "date = {1996, 1997}". It's that simple. It's common sense. Rather than the verbose solution given above, biber/biblatex should be altered slightly to accomodate the real-world situation.



I guess the workaround is to use the year field.






share|improve this answer
























  • Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

    – gusbrs
    Jan 3 '18 at 9:35











  • It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

    – moewe
    Jan 4 '18 at 20:22











  • sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

    – Dominik
    Jan 5 '18 at 21:32











  • Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

    – Dominik
    Sep 6 '18 at 19:28
















0












0








0







This is fiendishly clever. But isn't it also a bit insane?



If I'm cataloguing a two-volume book, where each volume was published in a different year, then it should be possible to say "date = {1996, 1997}". It's that simple. It's common sense. Rather than the verbose solution given above, biber/biblatex should be altered slightly to accomodate the real-world situation.



I guess the workaround is to use the year field.






share|improve this answer













This is fiendishly clever. But isn't it also a bit insane?



If I'm cataloguing a two-volume book, where each volume was published in a different year, then it should be possible to say "date = {1996, 1997}". It's that simple. It's common sense. Rather than the verbose solution given above, biber/biblatex should be altered slightly to accomodate the real-world situation.



I guess the workaround is to use the year field.







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 3 '18 at 5:50









DominikDominik

1046




1046













  • Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

    – gusbrs
    Jan 3 '18 at 9:35











  • It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

    – moewe
    Jan 4 '18 at 20:22











  • sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

    – Dominik
    Jan 5 '18 at 21:32











  • Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

    – Dominik
    Sep 6 '18 at 19:28





















  • Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

    – gusbrs
    Jan 3 '18 at 9:35











  • It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

    – moewe
    Jan 4 '18 at 20:22











  • sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

    – Dominik
    Jan 5 '18 at 21:32











  • Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

    – Dominik
    Sep 6 '18 at 19:28



















Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

– gusbrs
Jan 3 '18 at 9:35





Actually, a multi-volume book is handled out of the box by biblatex, as is shown with the Knuth book case in moewe's answer. It is enough to use the existing related field and relatedtype = {multivolume}.

– gusbrs
Jan 3 '18 at 9:35













It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

– moewe
Jan 4 '18 at 20:22





It is possible to say date = {1996/1997} for date ranges (following ISO 8601/EDTF standard). The date field needs to be a valid date range, it can not be arbitrary input as it needs to be parsed.

– moewe
Jan 4 '18 at 20:22













sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

– Dominik
Jan 5 '18 at 21:32





sure. But that gives "1993-1997" instead of "1993, 1997". Two volumes are not published across several years, but at specific dates. A better example would be three or more volumes.

– Dominik
Jan 5 '18 at 21:32













Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

– Dominik
Sep 6 '18 at 19:28







Thank you, @gusbrs, this does work. But the output is like the Knuth volumes above, with a new block for each volume. In Humanities, one typically wants bibliography entries like this: Ram, Labhu and Bala Sahai Shastri (1932, 1941). Catalogue of Sanskrit Manuscripts in the Panjab University Library. 2 vols. Lahore: Labhu Ram, Librarian for the University of the Panjab.

– Dominik
Sep 6 '18 at 19:28




















draft saved

draft discarded




















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f232526%2fis-it-possible-to-have-several-entries-in-a-bibtex-date-field%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to send String Array data to Server using php in android

Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

Is anime1.com a legal site for watching anime?