andras-simonyi / citeproc-el

A CSL 1.0.2 Citation Processor for Emacs.
GNU General Public License v3.0
85 stars 9 forks source link

Implement locator-date and locator-extra from CSL-M #105

Closed Quintus closed 1 week ago

Quintus commented 2 years ago

Dear Andras,

in my quest to properly work with legal commentaries, I came about another problem that has already been solved by CSL-M. Believe it or not, but in German law scholarship there still exist looseleaf commentaries, i.e. works printed on loose pages of paper hold together with a removable spine. When the publisher issues an update, you remove the spine, remove the outdated pages, insert the new ones instead, and finally put back the spine. Consequently, each page of said work can have another timestamp. The publishers also often add a version number in addition to the date. Both are printed on each page. One of the most established commentaries on the German Constitution is published in this format (Dürig/Herzog/Scholz).

If this sounds arcane to you, please consider instead commentary type 4 from https://github.com/andras-simonyi/citeproc-el/issues/92#issue-1095559432. It finally dawned to me that that commentary type 4 in reality is nothing else than the electronic version of a looseleaf commentary.

CSL-M provides locator-date and locator-extra to deal with this issue. These two variables to not conflict with CSL and can hence be implemented without too much effort I hope.

Thank you for consideration.

-quintus

andras-simonyi commented 2 years ago

Dear Marvin, apologies for reacting that late -- I'm trying to catch up with the outstanding citeproc-el issues after a longer hiatus. Looking at the CSL-M documentation, do I understand correctly that the value of these two variables should be parsed out of the content of the locator field?

Quintus commented 2 years ago

Dear Marvin, apologies for reacting that late

Better late then never! Thank you for coming back to it. I'm already using citeproc-el by now for my academic works, though every now and then I do come around rough edges like this one. I have some more for which I ought to open new issues.

do I understand correctly that the value of these two variables should be parsed out of the content of the locator field?

Yes. Here is an example of it in use from one of the texts I am currently working on:

Insichprozesse verstoßen auch nicht per se gegen die Systematik der VwGO. [cite:@schoch-schneider-vwgo42 note 102|41. EL Juli 2021,;@bverwg1992insichproz p. 927,]

This has no locator-date; 41. EL Juli 2021 should come out as the value for locator-extra. That's because for whatever reason, that commentary does not print the full date onto its pages, but only the month and year. note 102 is what should remain in the locator variable.

Some commentaries however do include the full date and would then look like this (assuming the date timestamp is 2021-07-01):

[cite:@schoch-schneider-vwgo42 note 102|2021-07-0141. EL]

That would yield 2021-07-01 for locator-date and 41. EL for locator-extra. note 102 is the final value for locator.

Quintus commented 1 year ago

Could you give me a hint where I should make modifications to citeproc-el in order to get this working? If I figure out something useful, I'll contribute it back.

-quintus

andras-simonyi commented 1 week ago

Dear Marvin, I've now implemented this feature in the branch 105-Implement_locator-date_and_locator-extra -- it'd be very helpful if you could test it. Note that if you try it out with Org-cite then you will need to close the full locator (with the extra bits) with a comma even if there is no cite suffix because otherwise the parser interprets the extras as suffix.

Quintus commented 1 week ago

Dear Marvin, I've now implemented this feature in the branch 105-Implement_locator-date_and_locator-extra -- it'd be very helpful if you could test it.

I tested it with my WIP Ph. D. thesis. As far as I can see, it works flawlessly. Thank you very much!

Note that if you try it out with Org-cite then you will need to close the full locator (with the extra bits) with a comma even if there is no cite suffix because otherwise the parser interprets the extras as suffix.

I already made that use a habit; I simply always include the final comma. I even wrote myself a command that inserts the citation markup including that comma.

Version information:

Cool! Thank you!

-quintus

andras-simonyi commented 1 week ago

Thanks for the positive feedback and for your patience! I've now merged the corresponding PR so I am closing the issue.