
tl;dr: Wie zitiert man ein Arbeitspapier, das kein hat/haben sollte institution
?
DerBiblatex-Eintragstypreport
sollte verwendet werden für:
Ein technischer Bericht, Forschungsbericht oder Whitepaper, das von einer Universität oder einer anderen Institution veröffentlicht wurde.
Die erforderlichen Felder für ein report
sind author
, title
, type
, institution
, year
/ date
.
Im Einklang mitdiese EmpfehlungNormalerweise verwende ich den report
Typ für Working Papers. Bei bestimmten Working Paper-Serien erscheint das Hinzufügen einer Institution jedoch überflüssig und führt zu unnötig überladenen Bibliographieeinträgen. Dies ist bei allen Working Paper-Serien der Fall, bei denen der Name der Institution Teil des Seriennamens ist. Beispielsweise werden „NBER Working Papers“ (offensichtlich) vom NBER veröffentlicht.
Um das Problem zu veranschaulichen, betrachten Sie das folgende Beispiel:
\documentclass{scrartcl}
\usepackage[backend=biber,bibstyle=authoryear,dashed=false]{biblatex}
\addbibresource{mwe.bib}
\begin{filecontents}{mwe.bib}
@Report{Example1,
author = {Author, Sample},
date = {2020},
title = {A Report},
type = {The Institution's Working Paper Series},
number = {42}
}
@Report{Example2,
author = {Author, Sample},
date = {2020},
title = {A Report with Redundant Institution},
type = {The Institution's Working Paper Series},
number = {42},
institution = {The Institution}
}
\end{filecontents}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
- Problem: Ich bevorzuge Beispiel 1 (keine Institution), aber das
institution
Feld ist erforderlich. - Problemumgehungen / Was ich versucht habe:
- Ignorieren Sie einfach, dass ein
institution
Pflichtfelderfeld vorhanden ist, und lassen Sie es leer. Das funktioniert (siehe oben), verstößt aber gegen die Datenmodellspezifikation. Aber: Dies erzeugt viele nervige Warnungen bei der Validierung des Datenmodells und außerdem bin ich mir nicht sicher, ob zukünftige Versionen von Biber/Biblatex bei fehlenden Pflichtfeldern so nachsichtig bleiben werden. - BietenmanchePlatzhalter Institution und dann löschen Sie das Feld nach dem Vorbild von
\AtEveryBibitem{\ifentrytype{report}{\clearfield{institution}…
aber da ich nicht löschen willinstitution
füralleBerichte, ich bräuchte einen konstanten „magischen Platzhalter“ (oder ein Schlüsselwort) und das Löscheninstitution
nur unter der Bedingung, dass dieser magische Platzhalter eingehalten wird, was … chaotisch und fehleranfällig ist und meine BIB-Datei überfüllt. - Verwenden Sie einfach einen anderen Eintragstyp, der keine Institution erfordert. Ein natürlicher Kandidat wäre
misc
– aber dieser hat keinnumber
Feld. Als Alternative könnte ich (ab-)verwendenmanual
, aber dies druckt dasnumber
vor demtype
, während ich die umgekehrte Reihenfolge brauche:Autor, Muster (2020c). Ein Bericht mit redundanter Institution. 42. Die Working Paper Series der Institution.
- Verwenden Sie einfach einen anderen Eintragstyp, der keine Institution erfordert,wieder: Verwenden Sie den
manual
Typ mitseries={The Institution's Working Paper Series}
, aber ich möchte nicht den falschen Eintragstyp (manual
) verwenden und die Verwendungseries
von wotype
ist (meiner Meinung nach) angemessener.
- Ignorieren Sie einfach, dass ein
- Frage: Wie zitiert man ein Arbeitspapier, das kein hat/haben sollte
institution
? Ich bin mir nicht sicher, welcher meiner obigen Ansätze der erfolgversprechendste ist, aber ich würde definitiv eine Lösung mit einem gültigen Datenmodell (anders als (1)), sinnvoller Semantik (anders als (4)) und einem Minimum an Dingen, die schiefgehen können (anders als (2)), bevorzugen. Also wäre vielleicht (3) und eine Änderung der Reihenfolge vontype
undnumber
fürmisc
am besten … aber ich bin offen und dankbar für alle Vorschläge.
Antwort1
tl;drWählen Sie Option 1. Wenn Sie die Warnung zur Datenmodellvalidierung so sehr stört, definieren Sie ein neues Datenmodell, für das dies nicht erforderlich ist institution
(siehe unten).
Die Unterscheidung zwischen Pflichtfeldern und optionalen Feldern biblatex
ist weniger streng, als es auf den ersten Blick erscheinen mag.
Abgesehen vom Datenmodell-Validierungscode gibt es im biblatex
Code nichts, was etwas über erforderliche oder obligatorische Felder aussagt.Die biblatex
Dokumentationsagt
Beachten Sie, dass die „erforderlichen“ Felder nicht in allen Fällen unbedingt erforderlich sind. Weitere Einzelheiten finden Sie in §2.3.2. Die als „optional“ gekennzeichneten Felder sind im technischen Sinne optional. Bibliografische Formatierungsregeln erfordern normalerweise mehr als nur die „erforderlichen“ Felder.
über 'erforderliche' und 'optionale' Felder. Und §2.3.2 erklärt weiter
§2.3.2Fehlende und auszulassende Daten
Die in §2.1.1 als „erforderlich“ gekennzeichneten Felder sind nicht in allen Fällen unbedingt erforderlich. Die Bibliographiestile, die mit diesem Paket geliefert werden, kommen
title
für die meisten Eintragsarten mit nur einem Feld aus. Ein anonym veröffentlichtes Buch, eine Zeitschrift ohne expliziten Herausgeber oder ein Softwarehandbuch ohne expliziten Autor sollten hinsichtlich der Bibliographie kein Problem darstellen. Zitierstile können jedoch andere Anforderungen haben. Beispielsweise erfordert ein Autor-Jahr-Zitationsschema offensichtlich einauthor
/editor
und einyear
Feld.
Für mich sind „erforderliche“ und „optionale“ Felder eher ein Hinweis für Stilentwickler, was sie erwarten können, als eine zwingende Anforderung für Benutzer und ihre .bib
Datenbanken. Generell würde ich sagen, dass Sie erwarten können, dass die Ausgabe angemessen aussieht, wenn Ihre Einträge alle in der Dokumentation als „erforderlich“ aufgeführten Felder enthalten. Wenn Sie nicht alle erforderlichen Felder haben, kann die Ausgabe trotzdem in Ordnung sein (und in vielen Fällen wird sie das auch sein), aber wenn Sie sich beschweren, weil Sie mit dem Ergebnis nicht zufrieden sind, haben Sie möglicherweise keine Chance. Ihre Bibliographie wird nicht automatisch schlecht sein, wenn Sie nicht alle erforderlichen Felder haben, aber es gibt keine implizite Garantie dafür, dass sie gut aussieht.
Ich denke, es ist wichtig, den Ratschlag vonbtxdoc
- Die dreizehn Eintragstypen des Standardstils eignen sich für die Formatierung der meisten Einträge recht gut, aber kein Schema mit nur dreizehn Formaten kann alles perfekt machen. Sie können also bei der Verwendung dieser Eintragstypen Ihrer Kreativität freien Lauf lassen (wenn Sie jedoch zu kreativ sein müssen, besteht eine gute Chance, dass Sie den falschen Eintragstyp verwenden).
- Nehmen Sie die Feldnamen nicht zu ernst. Manchmal müssen Sie beispielsweise die Adresse des Herausgebers zusammen mit dem Namen des Herausgebers in das
publisher
Feld aufnehmen, anstatt ihn in dasaddress
Feld einzugeben. Manchmal funktionieren schwierige Einträge auch am besten, wenn Sie dasnote
Feld sinnvoll nutzen.- Nehmen Sie die Warnmeldungen nicht zu ernst. Manchmal erscheint beispielsweise das Jahr im Titel, wie inDer Welt-Gnus-Almanach von 1966. In diesem Fall ist es am besten, das Feld wegzulassen
year
und die Warnmeldung von BibTeX zu ignorieren.
Ich glaube nicht, dass ich dem Beispiel im letzten Punkt völlig zustimme, aber der Grundidee stimme ich definitiv zu. Wie dem auch sei, das Fazit lautet: Nehmen Sie das Datenmodell nichtzuim Ernst. Letztendlich ist es wahrscheinlich das gedruckte Ergebnis, das Sie am meisten interessiert.
Ich kann es nicht mit Sicherheit sagen, aber es sieht auf jeden Fall so aus, als ob einige der erforderlichen/optionalen Felder direkt aus demBibTeX-Dokumentationbtxdoc
. In diesem Fall institution
handelt es sich wahrscheinlich eher aus historischen als aus technischen Gründen um ein Pflichtfeld.
Was ist das Schlimmste, das passieren kann, wenn Sie ein „erforderliches“ Feld nicht einschließen? Grob gesagt würde ich sagen, das Schlimmste, was passieren kann, ist, dass Ihr Stil davon ausgeht, dass das Feld vorhanden ist, und etwas in oder um das institution
Feld herum einfügt, das dann fehl am Platz aussieht, wenn das Feld nicht vorhanden ist.
Betrachten wir dies aus einem eher technischen Blickwinkel. Wie oben angedeutet, gibt es eigentlich nur einen Teil des biblatex
Codes, der weiß, welche Felder erforderlich und welche optional sind: Die Datenmodell-Einschränkungsdeklarationen. Diese Einschränkungsdeklarationen werden zur Datenmodellüberprüfung an Biber weitergegeben und werden nirgendwo sonst auf der biblatex
Seite verwendet. Aus technischer Sicht biblatex
sind die Datenmodell-Einschränkungen also absolut egal. Sie werden nur verwendet, um Benutzern Hinweise/Warnungen zu geben.
Der viel wichtigere Aspekt der ganzen „Erforderlich“-/„Optional“-Sache sind die impliziten Annahmen, die Stilentwickler treffen können. Im Allgemeinen wird von Stilentwicklern erwartet, dass sie ihre Stile so schreiben, dass das Weglassen optionaler Felder die Ausgabe nicht verunstaltet. Es gibt ein Argument dafür, dass es für erforderliche Felder keine solche Erwartung gibt. Wenn erforderliche Felder fehlen, liegt dies in der Verantwortung des Benutzers. Diese impliziten Annahmen sind nicht kodifiziert und es liegt ganz bei den Entwicklern, wie sehr sie sich auf diese Annahmen verlassen möchten.
Die allgemeine Funktionsweise biblatex
und biblatex
die Stile machen es in den meisten Situationen extrem einfach, fehlende Felder ohne zusätzlichen Aufwand zu vermeiden. Explizite Vorkehrungen gegen fehlende Felder müssen nur in einer sehr kleinen Minderheit von Randfällen getroffen werden.
Ich gehe davon aus, dass die Einträge bei den meisten Stilen @report
auch dann gut aussehen, wenn kein vorhanden ist institution
.
Lassen Sie uns Ihre vorgeschlagenen Problemumgehungen ein wenig besprechen.
Füllen Sie das Feld einfach nicht aus,
institution
wenn Sie es nicht möchten.Für mich klingt das nach der besten und einfachsten Vorgehensweise. Sicher, Sie geben kein Feld an
required
, aber wenn die Ausgabe so besser aussieht, wer kann Ihnen das verdenken? Die Datenmodellvalidierung muss explizit aktiviert werden und die Warnungen sind ohnehin eher künstlicher Natur (wie oben erwähnt), Sie sollten also vollkommen das Recht haben, sie zu ignorieren. Esbiblatex
ist äußerst unwahrscheinlich, dass sich die Standardstile so ändern, dass Einträge,institution
die jetzt nicht in Ordnung sind, in Zukunft schlechter aussehen sollten.Verwenden Sie einen (magischen oder anderen) Platzhalter.
Dies würde lediglich die Datenmodellüberprüfung täuschen. Wenn Sie den Feldwert später mit entfernen
\clearfield
, ist das Feld, was den Stil betrifft, immer noch weg. Wenn Sie also befürchten, dass die Ausgabe schlecht aussieht, sind Sie immer noch nicht auf der sicheren Seite.(und 4.) Verwenden Sie einen anderen Eintragstyp
Das ist sicherlich möglich, fühlt sich aber nicht wirklich viel besser an als die anderen Optionen. Sie würden eine echte semantische Verbindung aufgeben, um das viel künstlichere Ziel zu erreichen, die erforderlichen Felder richtig auszufüllen.
Es wird Sie wahrscheinlich nicht überraschen, dass ich Option 1 bevorzuge.
Wenn Sie sich über die Warnung, die Sie bei der Datenmodellüberprüfung erhalten, ärgern, können Sie die Datenmodellbeschränkungen so umschreiben, dass sie institution
aus der Liste der erforderlichen Felder entfernt werden (die ursprünglichen Beschränkungen finden Sie inblx-dm.def
).
\documentclass{article}
\begin{filecontents}{report-wo-institution.bib}
\ResetDatamodelConstraints
\DeclareDatamodelConstraints[
article,
book,
inbook,
bookinbook,
suppbook,
booklet,
collection,
incollection,
suppcollection,
manual,
misc,
mvbook,
mvcollection,
online,
patent,
periodical,
suppperiodical,
proceedings,
inproceedings,
reference,
inreference,
report,
set,
thesis,
unpublished]{
\constraint[type=mandatory]{
\constraintfieldsxor{
\constraintfield{date}
\constraintfield{year}
}
}
}
\DeclareDatamodelConstraints[set]{
\constraint[type=mandatory]{
\constraintfield{entryset}
}
}
\DeclareDatamodelConstraints[article]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{journaltitle}
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[book,mvbook,mvcollection,mvreference]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[inbook,bookinbook,suppbook]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
\constraintfield{booktitle}
}
}
\DeclareDatamodelConstraints[booklet]{
\constraint[type=mandatory]{
\constraintfieldsor{
\constraintfield{author}
\constraintfield{editor}
}
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[collection,reference]{
\constraint[type=mandatory]{
\constraintfield{editor}
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[incollection,suppcollection,inreference]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{editor}
\constraintfield{title}
\constraintfield{booktitle}
}
}
\DeclareDatamodelConstraints[dataset]{
\constraint[type=mandatory]{
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[manual]{
\constraint[type=mandatory]{
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[misc,software]{
\constraint[type=mandatory]{
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[online]{
\constraint[type=mandatory]{
\constraintfield{title}
\constraintfieldsor{
\constraintfield{url}
\constraintfield{doi}
\constraintfield{eprint}
}
}
}
\DeclareDatamodelConstraints[patent]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
\constraintfield{number}
}
}
\DeclareDatamodelConstraints[periodical]{
\constraint[type=mandatory]{
\constraintfield{editor}
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[proceedings,mvproceedings]{
\constraint[type=mandatory]{
\constraintfield{title}
}
}
\DeclareDatamodelConstraints[inproceedings]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
\constraintfield{booktitle}
}
}
\DeclareDatamodelConstraints[report]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
\constraintfield{type}
}
}
\DeclareDatamodelConstraints[thesis]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
\constraintfield{type}
\constraintfield{institution}
}
}
\DeclareDatamodelConstraints[unpublished]{
\constraint[type=mandatory]{
\constraintfield{author}
\constraintfield{title}
}
}
\DeclareDatamodelConstraints{
\constraint[type=data, datatype=isbn]{
\constraintfield{isbn}
}
\constraint[type=data, datatype=issn]{
\constraintfield{issn}
}
\constraint[type=data, datatype=ismn]{
\constraintfield{ismn}
}
\constraint[type=data, datatype=date]{
\constraintfield{date}
\constraintfield{eventdate}
\constraintfield{origdate}
\constraintfield{urldate}
}
\constraint[type=data, datatype=pattern, pattern=\regexp{(?:sf|sm|sn|pf|pm|pn|pp)}]{
\constraintfield{gender}
}
}
\end{filecontents}
\usepackage[backend=biber,bibstyle=authoryear,dashed=false]{biblatex}
\begin{filecontents}{\jobname.bib}
@Report{Example1,
author = {Author, Sample},
date = {2020},
title = {A Report},
type = {The Institution's Working Paper Series},
number = {42},
}
@Report{Example2,
author = {Author, Sample},
date = {2020},
title = {A Report with Redundant Institution},
type = {The Institution's Working Paper Series},
number = {42},
institution = {The Institution},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Die Dokumentausgabe bleibt gleich, biber -V
fehlende s werden jedoch nicht mehr angezeigt institution
.
Natürlich dieinstitution
ist das Feld noch nicht vergeben. Aber ich denke, es läuft alles darauf hinaus,wenn Sie nicht wollen, geben Sie eineinstitution
müssen Sie mit den Konsequenzen leben, die sich aus der Nichtangabe dieses Feldes ergeben.In den Standardstilen (und ich nehme an, in den meisten beigesteuerten Stilen) hat es grundsätzlich keine Konsequenzen, wenn Sie das nicht angeben institution
. Wenn Sie der Meinung sind, dass mögliche zukünftige Konsequenzen ein zu großes Risiko darstellen, besteht Ihre einzige Möglichkeit darin, das institution
Feld entweder mit einem Wert zu füllen (der gedruckt wird) oder einen anderen Eingabetyp zu verwenden. Wenn die erste Option nicht infrage kommt, ist ein anderer Typ Ihre einzige Möglichkeit. Ein anderer Typ ist jedoch semantisch weniger zufriedenstellend und kann möglicherweise nicht alle Aspekte von @report
so genau wie möglich richtig darstellen.