andras-simonyi / citeproc-el

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

Type exclusion in print_bibliography does not work #140

Closed Quintus closed 1 year ago

Quintus commented 1 year ago

Dear Andras,

the org manual documents an option called notcsltype for the #+print_bibliography command, but it does not work. Below I give a minimal example demonstrating the problem. The notcsltype option used should exclude the entry @bverwg2017meeresstrand from the printed bibliography, but it still shows up as BVerwG: TODO: FIXME: Unbekannter Eintragstyp. (which is German for “unknown entry type” and which I used as a fallback option in order to make this kind of problem stand out visibly) when I export this document to HTML.

That being said, I did not have success with nottype instead of notcsltype either. Neither did the inverse option csltype appear to work.

Background on my use case: in the German Law discipline, it is unusual to include court decisions into the long-form bibliography and they are usually restricted to mentions in footnotes. Thus, I want to exclude legal_case entries from the long-form bibliography.

/tmp/test.org:

#+TITLE: Test
#+AUTHOR: Nobody
#+OPTIONS: toc:nil
#+LANGUAGE: de
#+bibliography: /tmp/test.bib
#+cite_export: csl /tmp/test.csl

Ein paar Zitate. [cite:@forsthoff1938verwal_leist p. 6; @forsthoff1973verwr p. 300;@bverwg2017meeresstrand para. 48]

* Bibliographie
:PROPERTIES:
:UNNUMBERED: t
:END:

#+print_bibliography: :notcsltype legal_case

/tmp/test.bib:

@Book{forsthoff1938verwal_leist,
    author = {Ernst Forsthoff},
    title = {Die Verwaltung als Leistungsträger},
    year = {1938},
    publisher = {W. Kohlhammer},
    location = {Stuttgart/Berlin},
    langid = {german}
}

@Book{forsthoff1973verwr,
    author = {Ernst Forsthoff},
    title = {Lehrbuch des Verwaltungsrechts},
    shorttitle = {Lehrbuch},
    year = {1973},
    edition = {10},
    publisher = {C.H. Beck},
    langid = {german},
    volume = {1}
}

@Jurisdiction{bverwg2017meeresstrand,
    file = {Sonstige/bverwg2017meeresstrand.pdf},
    author = {BVerwG},
    type = {Urteil},
    number = {2017-10-13},
    eventdate = {10 C 7.16},
    title = {Meeresstrand},
    shortjournal = {BVerwGE},
    journaltitle = {Entscheidungen des Bundesverwaltungsgerichts},
    pages = {337-356},
    volume = {159},
    jurisdiction = {de},
    langid = {ngerman}
}

The test.csl file contains the current incarnation of one of my highly experimental personal CSL styles; it currently looks like this:

<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note" default-locale="de-DE">
    <info>
        <title>Zitierstil für juristische Dissertationen</title>
        <title-short>qdiss</title-short>
        <id>http://mg.guelker.eu/styles/qdiss</id>
        <link href="http://mg.guelker.eu/styles/qdiss" rel="self"/>
        <link href="https://github.com/citation-style-language/styles/blob/e22b8a566bad9b4c7f52720f60dd875057a5d210/juristische-schulung.csl" rel="template"/>
        <author>
            <name>Reto Mantz</name>
            <name>Marvin Gülker</name>
        </author>
        <category citation-format="note"/>
        <category field="law"/>
        <summary>qdiss
        Ein Stil für juristische Dissertationen.</summary>
        <updated>2023-04-28T13:14:36+02:00</updated>
        <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    </info>
    <!-- set date to format 8.8.2014 -->
    <locale xmlns="http://purl.org/net/xbiblio/csl" xml:lang="de-DE">
        <date form="numeric">
            <date-part name="day" form="numeric" suffix="."/>
            <date-part name="month" form="numeric" suffix="."/>
            <date-part name="year"/>
        </date>
        <terms>
            <term name="accessed">zuletzt aufgerufen am</term>
            <term name="see-fn">Fn.</term>
            <term name="accessed">zuletzt aufgerufen am</term>
            <term name="see-fn">Fn.</term>
            <!-- „Absatznummern“ nennt man in juristischen
                 Publikationen „Randnummern“ und man verwendet dafür
                 auch nicht das ¶-Zeichen, sondern eine der
                 Abkürzungen „Rn.“, „Rz.“, „Rdnr.“. Überschreibe daher
                 die Standardwerte aus dem deutschen Locale. -->
            <term name="paragraph" form="short"><single>Rn.</single><multiple>Rn.</multiple></term>
            <term name="paragraph" form="symbol"><single>Rn.</single><multiple>Rn.</multiple></term>
            <term name="book" form="short">Buch</term><!-- Der Standardwert "B." ist mehrdeutig, er könnte auch eine Abschnittsnummer meinen -->
        </terms>
    </locale>
    <macro name="author">
        <names variable="author" font-variant="small-caps">
            <name delimiter="/ " name-as-sort-order="all" sort-separator=", " form="long"/>
            <label form="short" prefix=" (" suffix=")"/>
            <substitute>
                <names variable="editor"/>
            </substitute>
        </names>
    </macro>
    <macro name="author-note">
        <names variable="author" font-variant="small-caps">
            <name form="short" delimiter="/" name-as-sort-order="all"/>
        </names>
    </macro>
    <macro name="author-commentary">
        <choose>
            <if variable="collection-editor">
                <names variable="collection-editor">
                    <name form="short" delimiter="/" name-as-sort-order="all"/>
                </names>
            </if>
            <else>
                <names variable="author editor">
                    <name form="short" delimiter="/" name-as-sort-order="all"/>
                </names>
            </else>
        </choose>
    </macro>
    <macro name="authority-or-author">
        <!-- For legal cases, 'author' is used in place of 'authority'. Support both, giving priority to the more precise 'authority'. -->
        <choose>
            <if variable="authority">
                <text variable="authority"/>
            </if>
            <else>
                <names variable="author"/>
            </else>
        </choose>
    </macro>
    <macro name="locator-with-label">
        <group delimiter=" ">
            <label variable="locator" form="symbol"/>
            <text variable="locator"/>
        </group>
    </macro>
    <macro name="autor-editor-note">
        <names variable="author" font-variant="small-caps">
            <name form="short" delimiter="/" sort-separator=""/>
            <substitute>
                <names variable="editor"/>
            </substitute>
        </names>
    </macro>
    <macro name="author-chapter">
        <names variable="container-author">
            <name delimiter="/ " name-as-sort-order="all" sort-separator=", " form="short"/>
            <label form="short" prefix=" (" suffix=")"/>
        </names>
    </macro>
    <macro name="chaptermark">
        <choose>
            <if variable="chapter-number">
                <!-- Buch ist nach Kapiteln nummeriert, zitiere nach Kapitel -->
                <choose>
                    <if is-numeric="chapter-number">
                        <!-- Füge "Kap." hinzu, wenn es nicht in der Datenbank ist -->
                        <text term="chapter" form="short" prefix=", "/>
                        <text variable="chapter-number" prefix=" "/>
                    </if>
                    <else>
                        <text variable="chapter-number" prefix=", "/>
                    </else>
                </choose>
            </if>
        </choose>
    </macro>
    <macro name="journalname-year">
        <text variable="container-title" text-case="title" form="short" suffix=" "/>
        <text variable="issue" suffix="/"/>
        <choose>
            <if variable="volume">
                <text variable="volume" suffix=" "/>
                <date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
            </if>
            <else>
                <date date-parts="year" form="text" variable="issued"/>
            </else>
        </choose>
    </macro>
    <macro name="firstpage-locator">
        <label variable="locator" form="short"/>
        <text variable="page-first" prefix=" "/>
        <text variable="locator" prefix=" (" suffix=")"/>
    </macro>
    <macro name="page-or-sym-locator">
        <choose>
            <if locator="page">
                <label variable="locator" form="short"/>
                <text variable="locator" prefix=" "/>
            </if>
            <else>
                <label variable="locator" form="symbol"/>
                <text variable="locator" prefix=" "/>
            </else>
        </choose>
    </macro>
    <macro name="edition">
        <choose>
            <if match="any" is-numeric="edition">
                <!-- FIXME: &#x00a0; muss nach der Auflagennummer stehen, aber NUR dort. Die GROUP muss entfallen -->
                <group delimiter=" ">
                    <number vertical-align="baseline" suffix=" " variable="edition" form="ordinal"/>
                    <text term="edition" form="short" suffix="."/>
                    <date date-parts="year" form="text" variable="issued" prefix=" "/>
                </group>
            </if>
            <else-if variable="edition">
                <text variable="edition" form="short"/>
                <date date-parts="year" form="text" variable="issued" prefix=" "/>
            </else-if>
            <else>
                <date date-parts="year" form="text" variable="issued" prefix=" "/>
            </else>
        </choose>
    </macro>
    <macro name="volume-long">
        <choose>
            <if variable="volume">
                <label variable="volume" form="short" suffix=" "/>
                <text variable="volume"/>
            </if>
        </choose>
    </macro>
    <citation et-al-min="4" et-al-use-first="2">
        <layout delimiter="; " suffix=".">
            <choose>
                <!-- Journal article
                     Style: <authors italic>, <journalname short> <journal-year>, <first-page>, <locator/cited page(s)>    
                -->
                <if type="article-journal">
                    <group delimiter=", ">
                        <text macro="author-note"/>
                        <text macro="journalname-year"/>
                        <text macro="firstpage-locator"/>
                    </group>
                </if>
                <!-- Hinweis: citeproc.el erkennt diesen Typ in .bib Dateien als @NewsArticle -->
                <else-if type="article-newspaper">
                    <text macro="author-note" suffix=", "/>
                    <text variable="container-title" text-case="title"/>
                    <date form="numeric" variable="issued" prefix=" v. " suffix=", "/>
                    <text macro="firstpage-locator"/>
                </else-if>
                <else-if type="book">
                    <text macro="autor-editor-note"/>
                    <text variable="title" form="short" text-case="title" prefix=", "/>
                    <choose>
                        <if disambiguate="true">
                            <text variable="edition" vertical-align="sup" font-style="italic"/>
                        </if>
                    </choose>
                    <text macro="page-or-sym-locator" prefix=", "/>
                </else-if>
                <else-if type="thesis">
                    <text macro="autor-editor-note"/>
                    <choose>
                        <if match="none" position="first">
                            <group delimiter=" " prefix=" (" suffix=")">
                                <text term="see-fn"/>
                                <text variable="first-reference-note-number"/>
                            </group>
                        </if>
                        <else>
                            <text variable="title" form="short" text-case="title" prefix=", " suffix=", "/>
                            <text variable="genre" suffix=" "/>
                            <text variable="publisher-place"/>
                            <text macro="edition"/>
                        </else>
                    </choose>
                    <text macro="page-or-sym-locator" prefix=", "/>
                </else-if>
                <else-if type="report">
                    <!-- Dieser Typ ist insbesondere für Rechtsgutachten gedacht -->
                    <choose>
                        <!-- Verwende die Namen der natürlichen Personen, wenn angegeben -->
                        <if variable="author">
                            <text macro="autor-editor-note"/>
                        </if>
                        <else>
                            <!-- sonst nehme die veröffentlichende Institution (citeproc.el mappt Biblatexs "institution" auf "publisher"). -->
                            <text variable="publisher"/>
                        </else>
                    </choose>
                    <choose>
                        <if match="none" position="first">
                            <group delimiter=" " prefix=" (" suffix=")">
                                <text term="see-fn"/>
                                <text variable="first-reference-note-number"/>
                            </group>
                        </if>
                        <else>
                            <choose>
                                <if variable="genre number">
                                    <!-- Whitepaper in einer Art Serie, z.B. Papiere der Wissenschaftlichen Dienste des Bundestags -->
                                    <text variable="genre" prefix=", " suffix=" "/>
                                    <text variable="number"/>
                                    <choose>
                                        <if variable="issued">
                                            <choose>
                                                <if is-numeric="issued">
                                                    <text macro="edition"/>
                                                </if>
                                                <else>
                                                    <text value=" v. "/>
                                                    <date variable="issued" form="numeric"/>
                                                </else>
                                            </choose>
                                        </if>
                                    </choose>
                                </if>
                                <else>
                                    <!-- Buchähnliches Whitepaper, typischerweise von Privaten in Auftrag gegebene Rechtsgutachten -->
                                    <text variable="title" form="short" text-case="title" prefix=", " suffix=", "/>
                                    <text macro="edition"/>
                                </else>
                            </choose>
                        </else>
                    </choose>
                    <text macro="page-or-sym-locator" prefix=", "/>
                </else-if>
                <!-- Chapter
                     Style: <author italic>, in: <book-author>, <title short>, [<edition>. Aufl.] <year>, <page> (<locator>)
                     e.g.: Mantz in Spindler, Rechtliche Rahmenbedingungen von Open Access-Publikationen, 2006, 55 (57)

Fest- und Gedächtnisschriften besitzen überdies einen Kurztitel ("FS Geehrter",
"GS Geehrter". Dieser ist in Biblatex als "shorttitle" zu erfassen. Normalerweise
sollte das dann als short-Form des container-title verfügbar sein und wird hier
auch so verwendet, aber offenbar hat Pandoc hier einen Bug. Wegen dieses Bugs
taucht der shorttitle momentan gar nicht auf. Nach Behebung des Bugs sollte er
aber.
                -->
                <else-if type="chapter">
                    <choose>
                        <!-- Festschrift/Gedächtnisschrift (@incollection) -->
                        <if variable="recipient">
                            <text macro="author-note" suffix=", in: "/>
                            <text variable="genre" suffix=" "/>
                            <choose>
                                <if disambiguate="true">
                                    <names variable="recipient">
                                        <name form="short" delimiter="/" name-as-sort-order="all"/>
                                    </names>
                                    <text macro="edition" suffix=", "/><!-- Hinweis: Neuauflagen von Festschriften sind unüblich, aber die Jahresangabe muss rein. -->
                                </if>
                                <else>
                                    <names variable="recipient" suffix=", ">
                                        <name form="short" delimiter="/" name-as-sort-order="all"/>
                                    </names>
                                </else>
                            </choose>
                        </if>
                        <else-if variable="container-author">
                            <!-- Seltener Fall eines Autors, der sein eigenes Werk neu herausgibt.
                                 Ein Sonderfall von @inbook.
                                 "container-author" und "author" müssen in diesem Falle identisch sein,
                                 aber das kann man in CSL leider nicht testen. Typischerweise wird
                                 außerdem "note" mit einer Angabe wie "Nachdruck" o.ä. vorhanden sein.
                                 "container-author" darf nicht mit "editor" verwechselt werden! -->
                            <text macro="author-note"/>
                            <choose>
                                <if position="first">
                                    <text variable="title" form="short" text-case="title" prefix=", " suffix=", in: "/>
                                    <text value="ders." font-variant="small-caps" suffix="&#x025A0;, "/><!-- CSL hat keinen Weg, das Geschlecht des Autors abzufragen, leider, also muss man das händisch nachbearbeiten. Daher wird hier eine Blockade eingefügt. -->
                                    <text variable="container-title" text-case="title" form="short" suffix=", "/>
                                    <text macro="edition" suffix=", "/>
                                    <text variable="note"/>
                                </if>
                                <else>
                                    <group delimiter=" " prefix=" (" suffix=")">
                                        <text term="see-fn"/>
                                        <text variable="first-reference-note-number"/>
                                    </group>
                                </else>
                            </choose>
                        </else-if>
                        <else>
                            <!-- Handbuch, Aufsatzsammlung o.ä. (@inbook) -->
                            <text macro="author-note" suffix=", in: "/>
                            <text variable="container-title" form="short" text-case="title"/>
                            <number variable="volume" form="roman" text-case="uppercase" prefix=" "/>
                            <text variable="edition" vertical-align="sup" font-style="italic"/>
                        </else>
                    </choose>
                    <text macro="chaptermark"/>
                    <text macro="page-or-sym-locator" prefix=" "/>
                </else-if>
                <else-if type="paper-conference">
                    <text macro="author-note" suffix=", "/>
                    <choose>
                        <if disambiguate="true">
                            <names variable="editor" prefix="in: " suffix=", ">
                                <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>
                                <label form="short" prefix=" (" suffix=")"/>
                            </names>
                        </if>
                    </choose>
                    <text macro="page-or-sym-locator"/>
                </else-if>
                <else-if type="entry-encyclopedia">
                    <text macro="author-note"/>
                    <choose>
                        <if position="first">
                            <names variable="editor" prefix=", in: " suffix=", ">
                                <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>
                                <label form="short" prefix=" (" suffix=")"/>
                            </names>
                            <text variable="container-title" text-case="title" form="short" suffix=", "/>
                            <text macro="volume-long" suffix=", "/>
                            <text macro="edition" suffix=", "/>
                        </if>
                        <else>
                            <names variable="editor" prefix=", in: " suffix=" ">
                                <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>
                            </names>
                            <group delimiter=" " prefix=" (" suffix="), ">
                                <text term="see-fn"/>
                                <text variable="first-reference-note-number"/>
                            </group>
                        </else>
                    </choose>
                    <text prefix="Stichwort „" variable="title" suffix="“"/>
                    <text macro="page-or-sym-locator" prefix=", "/>
                </else-if>
                <!-- Treat bill and legislation the same; citeproc.el
                     confusingly maps Biblatex's @legislation to CSL's "bill" -->
                <else-if type="legislation">
                    <text variable="number"/>
                    <text macro="page-or-sym-locator" prefix=", "/>
                </else-if>
                <else-if type="bill">
                    <text variable="number"/>
                    <text macro="page-or-sym-locator" prefix=", "/>
                </else-if>
                <!-- Für die Disseration gelten folgende Anforderungen:
                     @commentary bezieht sich auf die einzelne kommentierte
                     Norm. Der Bearbeiter ist als `author' zu erfassen,
                     die Herausgeber als `editor'. In der Fußnote wird
                     abgekürzt zitiert mithilfe des `shorttitle', der bei
                     Kommentaren ohne Eigennamen auf die Herausgebernamen
                     zu setzen ist. Die kommentierte Norm ist als `chapter'
                     zu erfassen; `title' bezeichnet den Titel des Kommentars
                     in Langform für das Literaturverzeichnis, wo er genau so
                     aufgeführt wird. Bei Kommentaren ohne Eigennamen sind
                     hier die Herausgeber mit angehängtem „(Hrsg.)“ an den
                     Anfang zu stellen.
                     Loseblattsammlungen und der wie eine Loseblattsammlung
                     geben den Stand in der Variablen `locator-extra' an,
                     s. https://citeproc-js.readthedocs.io/en/latest/csl-m/index.html#locator-date-and-locator-extra-extension -->
                <else-if type="legal_commentary">
                    <text variable="title" form="short" text-case="title" suffix="/"/>
                    <text macro="author-note"/>
                    <choose>
                        <if disambiguate="true">
                            <text variable="edition" vertical-align="sup" font-style="italic"/>
                        </if>
                    </choose>
                    <text variable="locator-extra" prefix=" (" suffix=")"/>
                    <text variable="chapter-number" prefix=", " suffix=" "/>
                    <text macro="page-or-sym-locator"/>
                </else-if>
                <!-- Legal case
                     Style:
                     if case is published in journal:  <court>, <journal> <journal-year>, <first-page> (locator) [ <en-dash> <case name>]
                     if case is in official journal:   <OJ> <volume>, <first-page> (locator)
                     otherwise:                        <court>, <type of decision> v. <dated-decided> <en-dash> <docketnumber> [ <en-dash> <case name>]   (type of decision is saved in field "note")
                -->
                <else-if type="legal_case" match="any">
                    <choose>
                        <!-- is the case published in a journal? -->
                        <if variable="container-title">
                            <!-- Is it in the official journal? Those are cited by volume. -->
                            <choose>
                                <if variable="volume">
                                    <text variable="container-title" text-case="title" form="short" suffix=" "/>
                                    <number variable="volume" form="numeric" suffix=", "/>
                                </if>
                                <else>
                                    <text macro="authority-or-author" suffix=", "/>
                                    <text macro="journalname-year" suffix=", "/>
                                </else>
                            </choose>
                            <text term="page" form="short"/>
                            <text variable="page-first" prefix=" "/>
                            <choose>
                                <if locator="page">
                                    <text variable="locator" prefix=" (" suffix=")"/>
                                </if>
                                <else>
                                    <label variable="locator" form="symbol" prefix=" (" suffix=" "/>
                                    <text variable="locator" suffix=")"/>
                                </else>
                            </choose>
                        </if>
                        <!-- Unpublished case cannot be cited by page number, only
                             by margin numbers -->
                        <else>
                            <text macro="authority-or-author" suffix=", "/>
                            <text variable="genre" suffix=" v. "/>
                            <!-- Das Entscheidungsdatum ist "event-date", nicht "issued".
                                 Grund: "issued" enthält den Zeitschriftenjahrgang. Auch
                                 wenn dieses else nur erreicht wird, wenn keine Zeitschriftenfundstelle
                                 vorliegt, kann das zu Verwirrung führen, weil die Einheitlichkeit
                                 der .bib-Datenbank gefährdet wäre. Es muss die theoretische
                                 Möglichkeit gewahrt sein, im anderen else-Zweig sowohl
                                 Zeitschriftenfundstelle als auch Entscheidungsdatum abzudrucken. -->
                            <date form="numeric" variable="event-date" suffix=" &#8211; "/>
                            <text variable="number"/>
                            <choose>
                                <if variable="locator">
                                    <label variable="locator" form="symbol" prefix=", " suffix=" "/>
                                    <text variable="locator"/>
                                </if>
                            </choose>
                        </else>
                    </choose>
                    <choose>
                        <!-- Names for legal cases may be set as shorttitle or title. Support both, preferring title as a shorttitle without title is illogical. -->
                        <if variable="title">
                            <text variable="title" text-case="title" prefix=" &#8211; "/>
                        </if>
                        <else-if variable="title-short">
                            <text variable="title-short" text-case="title" prefix=" &#8211; "/>
                        </else-if>
                    </choose>
                </else-if>
                <else-if type="webpage">
                    <text macro="author-note"/>
                    <text variable="URL" prefix=", "/>
                    <group delimiter=" " prefix=" (" suffix=")">
                        <text term="accessed"/>
                        <date variable="accessed" form="numeric"/>
                    </group>
                </else-if>
                <else>
                    <group delimiter=", ">
                        <text macro="author-note"/>
                        <text variable="title" text-case="title"/>
                        <text macro="locator-with-label"/>
                    </group>
                </else>
            </choose>
        </layout>
    </citation>
    <bibliography hanging-indent="true"
                  subsequent-author-substitute="—"
                  subsequent-author-substitute-rule="complete-all">
        <sort>
            <key macro="author"/>
            <key variable="issued"/>
        </sort>
        <layout>
            <choose>
                <if type="article-journal">
                    <names variable="author" font-variant="small-caps" suffix=": ">
                        <name form="long" delimiter="/" name-as-sort-order="all" sort-separator=", "/>
                    </names>
                    <text variable="title" text-case="title" suffix=", "/>
                    <text macro="journalname-year" suffix=", "/>
                    <text term="page" form="short"/>
                    <text variable="page" prefix=" "/>
                </if>
                <else-if type="book">
                    <names variable="author" font-variant="small-caps" suffix=": ">
                        <name form="long" delimiter="/" name-as-sort-order="all" sort-separator=", "/>
                    </names>
                    <text variable="title" form="long" text-case="title" suffix=", "/>
                    <text macro="edition"/>
                </else-if>
                <!-- Vgl. den Kommentar oben für die Zuordnung der Felder. Insb.
                     sind Herausgeber, soweit gewünscht, im `title' anzugeben. -->
                <else-if type="legal_commentary">
                    <text variable="title" form="long" text-case="title" suffix=", "/>
                    <text macro="volume-long" suffix=", "/>
                    <text macro="edition"/>
                </else-if>
                <else-if type="article-newspaper">
                    <text macro="author-note" suffix=", "/>
                    <text variable="title" text-case="title" suffix=", "/>
                    <text variable="container-title" text-case="title"/>
                    <date form="numeric" variable="issued" prefix=" v. "/>
                    <text variable="URL" prefix=", "/>
                </else-if>
                <else-if type="entry-encyclopedia">
                    <choose>
                        <if variable="container-title">
                            <text variable="container-title" text-case="title" suffix=", "/>
                        </if>
                        <else>
                            <text macro="author-commentary" suffix=", "/>
                            <text variable="title" text-case="title" suffix=", " form="short"/>
                        </else>
                    </choose>
                    <text macro="edition"/>
                </else-if>
                <else-if type="chapter">
                    <names variable="author" font-variant="small-caps">
                        <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>
                    </names>
                    <text variable="container-title" text-case="title" prefix=", in: "/>
                    <names variable="editor" prefix=", hrsg. von " suffix=", ">
                        <name delimiter=", " form="long" and="text"/>
                    </names>
                    <text macro="volume-long" suffix=", "/>
                    <text macro="edition"/>
                    <text macro="chaptermark" suffix=", "/>
                    <label variable="page" form="short" suffix=" "/>
                    <text variable="page"/>
                </else-if>
                <else-if type="paper-conference">
                    <names variable="author" font-variant="small-caps">
                        <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>
                    </names>
                    <text variable="container-title" text-case="title" prefix=", in: "/>
                    <names variable="editor" prefix=", hrsg. von " suffix=", ">
                        <name delimiter=", " form="long" and="text"/>
                    </names>
                    <text variable="event-title"/>
                    <text variable="event-place" prefix=" ("/>
                    <date variable="event-date" prefix=", " suffix=")" form="numeric"/>
                    <text macro="edition" prefix=", " suffix=", "/>
                    <label variable="page" form="short" suffix=" "/>
                    <text variable="page"/>
                </else-if>
                <else>
                    <names variable="author" font-variant="small-caps" suffix=": ">
                        <name form="long" delimiter="/" name-as-sort-order="all" sort-separator=", "/>
                    </names>
                    <text value="TODO: FIXME: Unbekannter Eintragstyp"/>
                </else>
            </choose>
            <!-- Finaler Schlusspunkt. -->
            <text value="."/>
        </layout>
    </bibliography>
</style>

-quintus

Quintus commented 1 year ago

Version information:

andras-simonyi commented 1 year ago

Dear Marvin, first of all, apologies for reacting that late. I've tried to reproduce the error but couldn't, with your files I get the bibliography (using text export):

Bibliographie
═════════════

  FORSTHOFF, ERNST: Die Verwaltung als Leistungsträger, 1938.

  —: Lehrbuch des Verwaltungsrechts, 10. Aufl. 1973.

which, if I understand correctly, is the expected output.

Without :notcsltype legal_case, on the other hand, I get

Bibliographie
═════════════

  BVERWG: TODO: FIXME: Unbekannter Eintragstyp.

  FORSTHOFF, ERNST: Die Verwaltung als Leistungsträger, 1938.

  —: Lehrbuch des Verwaltungsrechts, 10. Aufl. 1973.

Could it have something to do with your init settings?

Quintus commented 1 year ago

The problem has disappeared by itself now. I suppose this is due to software updates. Now I am on

Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8)
Org mode version 9.6.6 (release_9.6.6 @ /usr/share/emacs/29.1/lisp/org/)
citeproc-el @ 290320fc579f886255f00d7268600df7fa5cc7e8

and everything works as expected. My guess is that the change from Emacs 28 to Emacs 29 did the trick.

-quintus