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."
  • The first rule is just disambiguate-add-givenname="true"

    The second one should be possible by using something like

    <if disambiguate="true">
    <text variable="title" form="short"/>

    I'm not 100% sure you'll be able to get this right in the bibliography, though.
  • Lieber AdamSmith

    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...

  • If I understand the description correctly, the pattern in this test would work.

    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, the disambiguate 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.
  • edited March 9, 2019
    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">
    <link href="http://www.zotero.org/styles/test"; rel="self"/>
    <citation name-form="short" initialize-with="." disambiguate-add-givenname="true">
    <layout suffix=".">
    <group delimiter=", ">
    <names variable="author"/>
    <if match="any" disambiguate="true">
    <text variable="title" form="short" font-style="normal"/>
    <layout suffix=".">
    <group delimiter=", ">
    <names variable="author"/>
    <text variable="title"/>

    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 to if disambiguate=true, yet it would also be useful in the bibliography.
Sign In or Register to comment.