Fügen Sie dem Biber-Datenmodell benutzerdefinierte Felder hinzu

Fügen Sie dem Biber-Datenmodell benutzerdefinierte Felder hinzu

BEARBEITET, um die Frage klarer zu machen

Ich habe den gleichen Wunsch wie der ursprüngliche Verfasser dieses diese Frage.

Ich konnte auch meine gewünschten Felder zum biberDatenmodell hinzufügen und voilà: Beim Ausführen biber --toolwird keine Warnung mehr zu meinen zusätzlichen Feldern angezeigt. So weit, so gut.

Wie in dieser sich selbst beantwortenden Frage beschrieben, habe ich die Datenmodelldatei von biber(ie biber --tool-config) kopiert und meine Felder hinzugefügt.

<config>
<!-- skipped 383 lines -->
  <datamodel>
    <!-- skipped "constants" and "entrytypes" --> 
    <fields>
      <!-- skipped all predefined fields --> 
      <field fieldtype="field" datatype="literal">source</field>
      <field fieldtype="field" datatype="literal">copyright</field>
    </fields>
    <entryfields>
      <field>source</field>
      <field>copyright</field>
    <!-- skipped remainder of file -->
    </entryfields>
  </datamodel>
</config>

Nun meine Frage: Gibt es eine Möglichkeit, meine benutzerdefinierten Felder in eine zusätzliche Datumsmodell-Konfigurationsdatei zu schreiben, sodass sie das Datenmodell verbessern, das von zukünftigen Versionen verwendet wird biber?

Kapitel 3.1.2 beschreibt, dass biber„User-Level-Maps“ verwendet werden, die über einen LaTeX-Befehl oder in einer Konfigurationsdatei deklariert werden können. Im Handbuch steht, dass die sourcemapOption „Neue Felder zu einem Eintrag hinzufügen“ verwendet werden kann, was genau mein Wunsch ist.

Dies wäre die beste Lösung. Es würde sicherstellen, dass immer das Standarddatenmodell in der aktuellsten Version als Standardmodell geladen wird und durch das zusätzliche Laden meiner Felder über eine zweite, zusätzliche Konfigurationsdatei alle Felder verfügbar sind. Ich muss nicht regelmäßig nachschauen, ob das biberTeam das Datenmodell aktualisiert hat und somit auch die letzten Änderungen in meine erweiterte Datei einfügen.

Welcher Inhalt muss in einer zu ladenden Datei definiert sein, um --sourcemap=<extension-config>die Standarddatenzuordnung mit meinen benutzerdefinierten Feldern zu erweitern?

Antwort1

Sie müssen nicht das gesamte Datenmodell in die Konfigurationsdatei einfügen, sondern nur Ergänzungen oder Änderungen. Siehe das Kapitel „Das Datenmodell“ in der biberDokumentation:https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/current/documentation/biber.pdf/download

Um beispielsweise ab 3.13 im obigen Dokument ein directorFeld zu videoEintragstypen hinzuzufügen, geben Sie einfach Folgendes in die biberKonfigurationsdatei ein:

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <datamodel>
    <fields>
      <field fieldtype="list" datatype="name">director</field>
    </fields>
    <entryfields>
      <entrytype>video</entrytype>
      <field>director</field>
    </entryfields>
  </datamodel>
</config>

verwandte Informationen