
要約: を持たない/持つべきではないワーキングペーパーを引用するにはどうすればいいですかinstitution
?
のbiblatex エントリタイプreport
次のような場合に使用します。
大学やその他の機関によって発行された技術レポート、研究レポート、またはホワイトペーパー。
の必須フィールドは、、、、/report
です。author
title
type
institution
year
date
に沿ってこの勧告私は通常、report
ワーキング ペーパーにこのタイプを使用します。ただし、ワーキング ペーパー シリーズによっては、機関を追加すると冗長になり、不必要に雑然とした参考文献エントリが生成されます。これは、機関の名前がシリーズ名の一部となっているすべてのワーキング ペーパー シリーズに当てはまります。たとえば、「NBER ワーキング ペーパー」は (当然ですが) NBER によって発行されています。
この問題を説明するために、次の例を考えてみましょう。
\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}
- 問題: 例 1 (機関なし) を希望しますが、フィールド
institution
は必須です。 - 回避策 / 試したこと:
- 必須項目を無視し
institution
て空のままにしておきます。これは機能しますが (上記を参照)、データモデルの仕様に違反します。ただし、これにより、データモデルの検証時に多くの迷惑な警告が生成され、さらに、biber/biblatex の将来のバージョンでも、必須フィールドの欠落に対してこれほど寛容になるかどうかはわかりません。 - 提供するいくつかのプレースホルダー機関とその後の行に沿ってフィールドをクリアします
\AtEveryBibitem{\ifentrytype{report}{\clearfield{institution}…
が、私はクリアしたくないinstitution
ので全てレポートでは、一定の「魔法のプレースホルダー」(またはキーワード)が必要になり、institution
この魔法のプレースホルダーを観察した場合にのみクリアされますが、これは…乱雑で、エラーが発生しやすく、BIB ファイルが乱雑になります。 - 機関を必要としない別のエントリ タイプを使用します。自然な候補は
misc
– ですが、これにはフィールドがありませんnumber
。代わりに、 を (ab-) 使用することもできますが、これはの前にmanual
を出力しますが、逆の順序が必要です。number
type
著者、サンプル(2020c)。冗長な機関に関するレポート。42. 機関のワーキングペーパーシリーズ。
- 機関を必要としない別のエントリータイプを使用するだけです。また:
manual
型を で使用しますが、間違ったエントリ タイプ ( )series={The Institution's Working Paper Series}
を使用するのは好きではないので、 whereを使用する方が適切だと思います (IMO)。manual
series
type
- 必須項目を無視し
- 質問: を持たない/持つべきではないワーキングペーパーを引用するにはどうすればよいでしょうか
institution
? 上記のアプローチのどれが最も有望かはわかりませんが、有効なデータモデル((1)とは異なり)、理にかなったセマンティクス((4)とは異なり)、および問題が発生する可能性が最小限((2)とは異なり)のソリューションが確実に望ましいです。したがって、(3)と および の順序を変更するのが最善かもしれませんtype
...number
ただしmisc
、どのような提案でも歓迎しますし、感謝しています。
答え1
要約オプション 1 を選択してください。データ モデルの検証警告が煩わしい場合は、必要のない新しいデータ モデルを定義しますinstitution
(以下を参照)。
の「必須」フィールドと「オプション」フィールドの区別は、biblatex
一見したほど厳密ではありません。
biblatex
データモデル検証コード以外に、必須フィールドまたは必須フィールドを認識するコードはありません。ドキュメントbiblatex
言う
「必須」フィールドは必ずしもすべての場合に必須というわけではないことに注意してください。詳細については、§2.3.2 を参照してください。「オプション」としてマークされているフィールドは、技術的な意味ではオプションです。書誌の書式設定ルールでは、通常、「必須」フィールド以上のものが必要です。
「必須」と「オプション」のフィールドについて。そして§2.3.2ではさらに説明されている。
§2.3.2欠損データと省略可能なデータ
§2.1.1 で「必須」とマークされているフィールドは、すべての場合に厳密に必須というわけではありません。このパッケージに付属する参考文献スタイルでは
title
、ほとんどのエントリ タイプでフィールドが 1 つだけあれば十分です。匿名で出版された書籍、編集者が明確に指定されていない定期刊行物、または著者が明確に指定されていないソフトウェア マニュアルは、参考文献に関する限り問題はありません。ただし、引用スタイルには異なる要件がある場合があります。たとえば、著者-年引用スキームでは、/author
とeditor
フィールドが明らかに必要ですyear
。
私にとって、「必須」および「オプション」フィールドは、ユーザーとその.bib
データベースに対する厳格な要件というよりも、スタイル開発者が期待できるもののヒントです。一般的に言えば、ドキュメントで「必須」としてリストされているすべてのフィールドがエントリに含まれている場合、出力は妥当なものになると期待できます。必須フィールドがすべて含まれていなくても、出力は問題ない場合があります (多くの場合は問題ないでしょう)。ただし、結果に満足できない場合に苦情を申し立てると、根拠がなくなる可能性があります。必須フィールドがすべて含まれていなくても参考文献が自動的に悪くなるわけではありませんが、見栄えが良いという暗黙の保証はありません。
私は、次のアドバイスを心に留めておくことが重要だと思います。btxdoc
- 標準スタイルの 13 種類のエントリ タイプは、ほとんどのエントリを適切にフォーマットできますが、13 種類のフォーマットだけですべてを完璧に実行できるスキームはありません。したがって、これらのエントリ タイプの使用方法については自由に創造性を発揮してください (ただし、創造性を発揮しすぎると、間違ったエントリ タイプを使用している可能性が高くなります)。
- フィールド名をあまり真剣に考えすぎないでください。たとえば、フィールドに出版社名を
publisher
入力するのではなく、出版社の住所をフィールドに含める必要がある場合がありますaddress
。または、フィールドを賢明に使用すると、難しいエントリが最適になる場合もありますnote
。- 警告メッセージをあまり真剣に受け止めないでください。たとえば、次のようにタイトルに年が表示されることがあります。1966年世界ヌース年鑑
year
この場合は、フィールドを省略し、BibTeX の警告メッセージを無視するのが最善です。
最後のポイントの例に完全に同意するわけではないと思いますが、全体的な考え方には間違いなく同意します。とにかく、結論は、データモデルをそのままにしないことです。あまりにも真剣に。結局のところ、印刷された結果こそが、おそらくあなたが最も興味を持っているものでしょう。
確かなことは言えませんが、必須/オプションのフィールドの一部は、BibTeXドキュメントbtxdoc
したがって、この場合はinstitution
技術的な理由ではなく歴史的な理由により、おそらく「必須」フィールドになります。
「必須」フィールドを含めない場合、最悪の事態はどのようなものになるでしょうか? 大まかに言えば、最悪の事態は、スタイルでフィールドが存在することを想定して、フィールド内またはフィールドの周囲に何かを配置し、institution
フィールドが存在しない場合は場違いに見えるようになることです。
これをもっと技術的な観点から見てみましょう。上で触れたように、biblatex
どのフィールドが必須でどのフィールドがオプションであるかを認識するコードは実際には 1 つしかありません。それは、データ モデルの制約宣言です。これらの制約宣言は、データ モデルの検証のために Biber に渡され、他の場所では使用されませんbiblatex
。したがって、技術的な観点からは、biblatex
データ モデルの制約はまったく考慮されません。それらは、ユーザーにヒントや警告を発行するためにのみ使用されます。
「必須」/「オプション」という全体的な側面のはるかに重要な点は、スタイル開発者が暗黙の想定を行えることです。一般的に、スタイル開発者は、オプション フィールドを省略しても出力の見栄えが悪くならないようにスタイルを記述することが求められます。必須フィールドについてはそのような期待はないという議論もあります。必須フィールドが欠落している場合は、ユーザーの責任です。これらの暗黙の想定は成文化されておらず、これらの想定にどの程度依存するかは完全に開発者次第です。
biblatex
とスタイルの全体的な動作biblatex
により、ほとんどの状況で、追加の作業なしでフィールドの欠落を防ぐことが非常に簡単になります。フィールドの欠落に対する明示的な予防措置は、ごく少数の特殊なケースでのみ必要になります。
ほとんどのスタイルでは、@report
がなくてもエントリは問題なく表示されると思いますinstitution
。
提案された回避策について少し議論しましょう。
institution
必要ない場合は、フィールドに入力しないでください。私にとっては、これが最善かつ最も簡単な対処方法のように思えます。確かに、
required
フィールドを指定しているわけではありませんが、その方が出力の見栄えが良くなるのであれば、誰があなたを責めるでしょうか? データ モデルの検証は明示的にオンにする必要があり、警告はいずれにしても (前述のように) いくぶん人工的な性質のものなので、それを無視するのはまったく当然のことです。標準スタイルが、それがないエントリが今は問題ないように見えても、将来は見栄えが悪くなるようbiblatex
な形で変更される可能性は極めて低いでしょう。institution
プレースホルダー(マジックまたはその他)を使用します。
これは、データ モデルの検証を欺くだけです。 でフィールド値を削除しても
\clearfield
、スタイルに関する限り、フィールドは削除されたままです。したがって、出力の見栄えが悪くなることを心配している場合は、まだ安全とは言えません。(そして4.)別のエントリタイプを使用する
これは確かに可能ですが、他のオプションよりも優れているとは思えません。必須フィールドを正しく入力するという、より人工的な目的のために、実際の意味的なつながりを放棄することになります。
私がオプション 1 を支持することは、おそらく驚きではないでしょう。
データモデル検証から得られる警告が気になる場合は、データモデルの制約を書き換えて、institution
必須フィールドリストから削除することができます(元の制約は以下にあります)。blx-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}
ドキュメントの出力は同じですが、欠落しているsbiber -V
については何も表示されません。institution
もちろん、institution
フィールドはまだ与えられていません。しかし、結局のところ、を与えたくない場合は、institution
そのフィールドを与えなかったことによる結果を受け入れなければなりません。標準スタイル (およびほとんどの寄稿スタイル) では、 を指定しなくても基本的に何の影響もありませんinstitution
。 将来起こり得る影響が大きすぎると思われる場合、唯一の選択肢は、フィールドinstitution
に値 (印刷される値) を入力するか、別のエントリ タイプを選択することです。 最初のオプションが使用できない場合、唯一の方法は別のタイプを使用することです。 ただし、別のタイプでは意味的に満足のいく結果が得られず、 のすべての側面を可能な限り正確に適切に表現できない可能性があります@report
。