-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Datetime. Ranges: Unknowns, Opens, and Unspecifieds. #540
Comments
One thing to notice is that again the output of A conceptual question is if I have no idea about the real problem though, What I noticed, though is that some tests are set up in a way that they yield false if the (start) Unfortunately, I still haven't got the hang of this new date handling, so that's probably all I can say. |
Thanks! That helps me better present the issues ....
In biblatex.pdf, page 36, under "2.3.8 Date and Time Specifications" there's mention of support for ranges. In particular "Table 3; Date specifications" (p37) list many EDTF date input and output formats and most of the example entail a range of some sort. There's also "Table 4: EDTF 5.2.2 Unspecified Date Parsing" (P 38). From biblatex.dpf, p36 ...
The spec upon which that is based: Extended Date/Time Format (EDTF) 1.0 ... which defines at least the input format for date ranges in biblatex.
Well you've done a good job of enumerating the problems which I'll repeat below. But if you mean "is this a real world problem?" there's at least one real world example I have in a (not yet shown) test file:
Presumably unknown, open, and unspecfieds are rare in the real world. But it seems right to go ahead and support them given the road taken to support ranges where both dates are provided.
Yes I think conceptually "unknown" and "open" are different from "no date supplied" (which I take "n.d." to stand for). "no date supplied" would indicate that the field hasn't been considered or processed. "unknown" and "open" are assertions about one of the dates, in the date range, of a work. So all the problems which I think my Gist reveals (most of which you've identified) are:
By pointing to #148 can I take it broadly: that |
Ah, sorry, when I said When I said I had no idea about the real problem, I meant that I had (and indeed still have) no clue on how to go about solving the issue. It seems evident that the current output is sub-par and given that we want to support all date specifications that should be remedied. OK, interesting point about the difference between 'unknown' and 'nodate', I somehow assumed without looking it up that I'm not sure about your point 3. I was saying in #520 that #148 seems for me to have led to applying I am still struggling with how long My preferred solution would have been that all macros (citation commands and mergedate in bibliography) use Sorry for the lengthy post. I had hoped we could keep the issues nice and short, but turns out I have a lot more opinions about this than I thought. |
That corrects some of my misinterpretations of your prior comments, thanks. In lieu of my going over any further detail that your corrections might reveal, perhaps I should stick sharing some general intuitions. I'm assuming you are stilling wanting (I use the word with trepidation) to hold the batten and tackle the code here. My head is more in the input/output rather than the code base. Given, that is, I'm new to the code base; and I'm reluctant to want to "program" in it (it feels a little awkward as a a programming language, like XSLT). But in the details you mention I recognize the general issue: it sounds like the code base (which might just mean the code in Refactor or not, the outstanding issues seem to entail taking care of:
All these issues seem to intersect. Although, in coding terms it might be best to tackle them one at a time: the other issues might fall out as solved on that approach. I might also suggest you keep in mind the possibility of jettisoning or deprecating features if this makes things simple, and subject to @plk's reflections. As a wild, if unlikely, example: perhaps the mergedate feature could be jettisoned or the options reduced. |
@plk I have had another look at this and most things look good now. The only problem we have left is with open/unknown start dates, here the dates come out as 'n.d.' which is not so good. It seems that Seems as though EDTF is going to be superseded by ISO 8601, see https://www.loc.gov/standards/datetime/. As a result 'several syntactic changes were necessary', I'm not sure what that means for us. |
Oh great, they chose to use |
Of course we can choose to ignore this. But the documentation mentions EDTF quite often, it would be rubbish if the standard we chose to implement disappears or becomes abandoned. Problem is that ISO 8601 is in discussion stage right now and it will take some time until it is finalised. So following it now is risky. We (unlike the EDTF/ISO people) need to worry about backwards compatibility. Although we can possibly get away with changing things in the less often used date features. |
I might submit a comment about the choice of '%' as it's rather silly since TeX is a widely used academic format for publications. I agree there is not much to do yet until 8601 is ratified but then, I think we have to switch to the latest version of it, yes. |
I looked at the 8601 part 2 spec and since we only cover level 1 currently, the changes are not so much. The main problem is the choice of |
But is Do you have any thoughts about the open ranges, i.e. |
I don't think that's necessary as '%' wouldn't even reach the .bbl - that gets processed by biber - it's just that it would occur in .bib files. |
Yes, but that is not too bad, as it can appear in verbose fields like URL as well and does not start a comment there either. So it is something people know already. It is still not a great choice, but it should not be a big problem. |
On the incorporation of EDTF into a draft ISO 8601 ....
Yes that seems right. So, in the meantime, stick with EDTF (as at https://www.loc.gov/standards/datetime/). On the problem of the proposed uncertain and approximate symbol: From a user perspective Somewhat closer to the topic of the current thread, and on a quick skim of ISO_DIS 8601 Part 2 (pdf), section 4.4 Enhanced time interval it looks like there are new conventions for Unknown and Open date ranges:
In particular the change in meaning of blank: a potential backwards compatibility nightmare? I wonder if it might become necessary to specify in your .bib file the datetime conventions you are using e.g. "Edtf-Locgov" V "Edtf-ISO8601Part2". Section 4.3 also introduces a change to unpsecifieds. Essentially using "X" in place of "u". That seems like a superior convention and one to easily adapt to. However, in Section "4.10 Decade" there's the introduction of expressing a decade with three digits. E.g. So "the 1960s" can be represented by "196". All that might warrant holding off on addressing the current bug (of this thread). However, if anyone wanted to plough on with it (working to the EDTF spec) then I only have to offer that @moewew you appear to be almost correct that ...
... unknown end dates also appear to be a problem. I get But unspecifieds (using the "u" symbol) look good to me against Gist-Biblatex-Ranges-Basic.tex. Maybe all this is easier to tackle now that |
Sorry. In the prior comment I represented Unknown and Open intervals in EDTF under loc.gov (http://www.loc.gov/standards/datetime/pre-submission.html) as entailing the following:
Looking again at the spec it appears to be simpler:
http://www.loc.gov/standards/datetime/pre-submission.html#extendedintervall1
http://www.loc.gov/standards/datetime/pre-submission.html#bnf
But perhaps I'm forgetting some backwards compatibility reason for allowing "*" and blank? Edit: Moreover the spec doesn't seem to permit Open start dates. I might be forgetting that we decided to ignore that strange omission. Open is permitted at either the start or end dates in the draft ISO 8601 part 2. So both for future ISO reasons and because it makes sense I think we should continue to permit Open ("open") at the start or end date. |
So ... as you were. Opens and Unknowns are working in Biblatex.
That leaves the Unspecifieds. The current results look like ...
... the current results don't really convey an "unspecified" date. |
The output I get with the development version is slightly different. The problem with open/unknown dates is what I described above. We would need to treat empty and undefined @plk Maybe we need not only |
Isn't |
Probably, I didn't check. But I don't think this will work for |
On unspecifieds ... as you were and forgive my wrongly introducing a confusion. I've been testing zotero-better-bibtex and some errors crept into my *.bib file. That's corrected and I now have the same results as yourself (moewew) and those results are as they should be. On open/unknown date ranges moewew wrote ...
... but could you catch me up here? .... Open and unknown start dates work fine if the date is specified with a "open" or "unknown" (right?). The problem you are pointing to is when blank or
If there is a backwards compatibility issue, rather than "requirement", a way to address that issue could be to formally deprecated blank and
|
I'm mainly talking about output and not input here, and in particular about the output of While the output of the date with I fear this would require changes not only in |
This wouldn't necessarily be too difficult - currently |
Oh, interesting. In that case an optional way to make I don't quite understand how So once that is settled, we probably need to tweak the date output routines to add the |
I think the new macro would simply be an ordered list of |
Great! For backwards compatibility reasons we probably need to keep |
This is done in 3.8/2.8 DEV. @moewew is correct that See |
Just tested it and it works brilliantly. Thank you very much. So the only thing left is the problem with open start dates yielding 'nodate'. |
Can you give a quick MWE here? I need to see what biber outputs in the .bbl. |
This is a shortened version of the MWE from the beginning
|
Please try 3.8/2.8 now which are both uploaded with all recent changes. I think this was a |
@plk thanks for the coding kung-fu. @moewew I'm not sure why I wasn't seeing the 'nodate' problem you've illustrated. Something strange at my end. Anyway I did, finally, see the problem. With @plk's changes I now get, with the original Gist-Biblatex-Ranges-Basic.tex, with I think that's close to solving it (it at least gets rid of the 'nodate' issue). But note with So looking at the first unknown citation result we have:
I haven't been quite getting up to speed on the |
We probably should go with
now. The difference between |
Yes, this hs been an open topic for some time - where to print |
That is a very good solution for most cases. But it could be problematic with the standard |
I'm not across the code sufficiently to be of much aid. I note @moewew's "I'm not sure if it can be solved". However ... ... I'm understanding On the issue of where to put And indeed looking at the documentation for \DeclareExtradate (which you've lately pointed us to) I see that while you have a (very flexible) facility for playing with datetime scope, by default you keep that scope to the conventional year. And so, by default, I get results (with your and @moewew's recent aid on another topic) like ... ... with On the issue of where to put
I'd suggest we'd want to:
So the output would go like this:
... ignoring the issue of whether you want brackets "[]" around some of the So, in other words, I'd favour the current results when |
You'll have to correct me if I'm wrong, but at the moment (3.7 and the defaults of 3.8) |
You are right about the initial assumption since the first item in the default |
I thought about that as well and it could help in certain situations (and could make things more flexible), but does not help us with the current problem of where exactly to place the |
I have added |
Moewew wrote:
That's better than my suggestion to have And therefore, as you and have @plk have suggested, when there is a need to display an When For the sake of being able to stare at example possibilities you folk already have in mind (and assuming that range years, not range datetimes, determine the Possibility 1: after the end date:
Possibility 2: after the end year:
As you @moewew correctly note, if That, then, would seem to leave possibility 2, after the end year. This could be understood as follows: It would be consistent with designating that the range years determine the
The understanding continues ... an
On the separate but related issue of the new That would seem to be helpful down the track (perhaps quite soon) with certain edge cases, but moewew seems correct that it doesn't help with the default case: when Edit 01: "similar" to "suitably analogous"; "help" to "hope". |
A testing file for this issue: Gist-Biblatex-Ranges-MutlipleWorksByAuthorInSameRange.tex . |
@moewew - do you think we can/need to do anything with this? I think this is now the last outstanding thing before release. |
At the moment I have no good idea what to do with this - neither conceptually nor technically. The status quo should be OK for most users and acceptable in some more advanced situations. I think it is more important to get the new release out than to solve this. At best no-one notices a problem, at worst someone complains, but then they may have intuitions about how things should look. I suggest we close this ticket, as the discussion has become quite long again, and open a new one for the |
At the basic level the original range issues, to do with Unknowns, Opens, and Unspecifieds, are now solved. That is, leaving aside anticipation of ISO changes and the "Extradate and multiple works by author in same range" issue. So I've opened "Datetimes. Extradate and multiple works by author in same range. #644": essentially starting with information from my previous two posts ...
In #644 you might like to answer: what of my (John Bentley's) intuitions about how things should look? I'll leave the honours to you @moewew to close the current thread. |
We might want to review ranges output.
See Gist-Biblatex-Ranges-Basic.tex, with the
bib
included asfilecontents
.That spits out a 2 page pdf with three range sections: Unknown, Open, and Unspecified.
Note particular options that I've set as follows:
When the date(time) is a range we probably want to output it as such:
For in-text citations. For example for
unknown/2006
I get(Simpson n.d.[a])
when perhaps we should have(Simpson unknown/2006a)
, or(Simpson unknown/2006)
- using 'unknown' or 'open' as appropriate.For references. For example for "open/2004-01-01" I get
... when we should perhaps get ...
... or, if we changed the options such that
labeldate=year
...All this is before considering mergedate issues (
mergedate=false
above).The text was updated successfully, but these errors were encountered: