An interesting challenge for CSL and disambiguation

I am, as always, working with the McGill Guide. Until I am done my master's thesis, I'll be sticking with the vanilla and not fbennett's amazing extension.

One of the things that the McGill guide expects is that, if you have multiple sources by the same author, you will create a short form for each source by that author appearing after the first cite of that source in square brackets and used in combination with their last name in subsequent cites; but if an author only has one source, you are expected to subsequently refer to that source by the author's name alone. So, for example, the citations in hypothetical footnotes 45-50 should look something like

45 First Author, First Book Title (Dakota, WY: Hunsburger, 2001), ["First Book"]
46 Second Writer, Only Book by This Guy (Wyoming, DA: Ribblerop, 2000)
47 First Author, "An Article in a Journal This Time" (1955) 15:2 Journal of Awesome 75, ["Journal This Time"]
48 Writer, supra note 46
49 Author, "First Book", supra note 45
50 Author, "Journal This Time", supra note 47

For the life of me, I can't figure out a way to implement this, because "disambiguation" only kicks in once two sources are otherwise the same. Any solution would also require users to hard-code short titles, which is maybe contrary to the schema anyway, but any advice as to how to limit the ["bracketed content"] at the end of citations (and using short-forms rather than just author names in every case) would be awesome.
  • for the labels I'm not sure, that'll likely require some tinkering, but for the disambiguation, CSL is smart about that, you can default to just author, test for disambiguation and if that evaluates to true add the short title. See the Modern Humanities Research Association style for an example (note that it handles the test in a macro - you can do either).
  • Thanks for getting back. The solution from MHRA will definitely get part way there. It's the labels that are the hard part, though. You're right that it is easy to get subsequent cites to disambiguate in the way I want (I'll implement that right away). The hard part is avoiding the addition of a label to every citation, whether or not that author has multiple sources in the document.

    By "some tinkering" do you mean that you think it can already be implemented in CSL but needs some tinkering with the style, or would need CSL itself tinkering to make this work?
  • only getting labels for items that will be disambiguated later on is not possible in CSL as is and I'm not sure if we're going to do it.
    By tinkering I meant some hack-ish workaround like using some unused field to indicate that the author has multiple citations - it's neither elegant nor convenient, but that's all we got at the moment.
Sign In or Register to comment.