Disambiguations
hi, any idea how to realize this with csl?
"Einzig bei verschiedenen Autorinnen/Autoren mit gleichen Nachnamen,
sollten - um Verwechslungen zu vermeiden - zusätzlich
die Initialen der Vornamen angegeben werden (z.B. «R. MüLLER,
s. 24; G. MüLLER, s. 165»).
Falls von der gleichen Autorin/dem gleichen Autor mehrere Werke
im Literaturverzeichnis aufgeführt sind, muss als Zusatz ein Stichwort
aus dem Titel angegeben werden (auch Jahreszahl möglich).
Die entsprechende Zitierweise sollte dabei im Literaturverzeichnis
beim jeweiligen Werk in Klammern angegeben werden."
"Einzig bei verschiedenen Autorinnen/Autoren mit gleichen Nachnamen,
sollten - um Verwechslungen zu vermeiden - zusätzlich
die Initialen der Vornamen angegeben werden (z.B. «R. MüLLER,
s. 24; G. MüLLER, s. 165»).
Falls von der gleichen Autorin/dem gleichen Autor mehrere Werke
im Literaturverzeichnis aufgeführt sind, muss als Zusatz ein Stichwort
aus dem Titel angegeben werden (auch Jahreszahl möglich).
Die entsprechende Zitierweise sollte dabei im Literaturverzeichnis
beim jeweiligen Werk in Klammern angegeben werden."
The second one should be possible by using something like
<choose>
<if disambiguate="true">
<text variable="title" form="short"/>
</if>
</choose>
I'm not 100% sure you'll be able to get this right in the bibliography, though.
Drei Probleme:
1. unterschiedliche Autoren mit gleichen Nachnamen ALLE (also auch der erstgenannte) mit abgekürztem Vornamen in der Fussnote [disambiguate-add-givenname="true"]
2. gleichzeitig aber auch der selbe Autor mit mehreren Publikationen unterschieden [disambiguate-add-names="true"] nach: entweder relevantes Stichtwort aus dem Titel (Regex?), oder - wahrscheinlich einfacher zu programmieren - Jahreszahl in der Fussnote
3. zudem Zusatz aus 2. auch im Literaturverzeichnis
Wenn ich allerdings 2. berücksichtige, wird der erstgenannte Autor nicht mit Initialen versehen, 1. also nicht korrekt ausgeführt.
Und für 3. habe ich gar keine Idee...
danke
pax
It uses
disambiguate="true"
twice, once to force in the initials, and once to force in the "short form" of the title. In the Zotero citation processor, thedisambiguate
condition is triggered only when it is required - it will return "false" after the first time in most cases - but in this case, forcing the name to be rendered with initials does not make the citation unambiguous, so the second condition (for the title keywords) is also triggered.I have used abbreviations to get the keywords in this example. That would require dynamic editing of abbreviations, which is not currently possible in Zotero, for technical reasons. A plugin bundled with the Juris-M variant of Zotero provides that facility, but the plugin depends on some extra code in the client to load data that the plugin requires, before the citation is rendered. I'm not sure whether the team would be willing to add the extra code to mainstream Zotero, since it is specific to this particular plugin (the "Abbreviation Filter").
As you say, using the date would be simpler to code (and easier for the user), but if the style does not provide a way of disambiguating references by the same author in the same year, that might be a problem - it would depend on the rules of the style guide.
Concerning 2.: I'm not sure why you are using
disambiguate-add-names
here.I have put a minimal example together that should come close to what you want. (@pax The example should work now...)
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">
<info>
<title>Test</title>
<id>http://www.zotero.org/styles/test</id>
<link href="http://www.zotero.org/styles/test" rel="self"/>
<updated>2019-03-09T11:17:28+00:00</updated>
</info>
<citation name-form="short" initialize-with="." disambiguate-add-givenname="true">
<layout suffix=".">
<group delimiter=", ">
<names variable="author"/>
<choose>
<if match="any" disambiguate="true">
<text variable="title" form="short" font-style="normal"/>
</if>
</choose>
</group>
</layout>
</citation>
<bibliography>
<layout suffix=".">
<group delimiter=", ">
<names variable="author"/>
<text variable="title"/>
</group>
</layout>
</bibliography>
</style>
The "Stichwort aus dem Titel" must be entered via the shorttitle field.
Concerning 3: As @adamsmith and @fbennett have already written this is impossible at the moment. One solution would be to introduce a new test. Biblatex for example knows a test
\ifsingletitle
that tests if the current item is the only item cited by an author. This test is very close toif disambiguate=true
, yet it would also be useful in the bibliography.