インド文学では、2 つの別々の書誌を持つ慣例があります。1 つは二次文献用で、biblatex(-chicago) にすでに存在する既存のタイプとフィールドによって多かれ少なかれ簡単に処理できます。もう 1 つは一次文献用です。以前の出版プロジェクトでは、一次文献用に、title
作品名とオプションで著者名にフィールドを悪用し、実際の書誌情報をすべてフィールドにハードコードするといった醜いハックに頼らざるを得ませんでしnote
た。それはどれほど醜いことだったでしょうか。次のようになります。これは私が以前行っていた大まかな方法です。
\documentclass{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents*}{pri.bib}
@misc{Kuṭṭanīmata,
title = {Kuṭṭanīmata \emph {of Dāmodaragupta}},
note = {\textit{Dāmodaraguptaviracitaṃ Kuṭṭanīmatam: The Bawd’s Counsel, Being an Eighth-century Verse Novel in Sanskrit by Dāmodaragupta, Newly Edited and Translated into English}, edited and translated by Csaba Dezső and Dominic Goodall. Groningen Oriental Studies 23. Groningen: Egbert Forsten, 2012},
}
\end{filecontents*}
\begin{filecontents*}{sec.bib}
@book{DezsoGoodall2012,
title = {Dāmodaraguptaviracitaṃ Kuṭṭanīmatam},
subtitle = {The Bawd’s Counsel, Being an Eighth-century Verse Novel in Sanskrit by Dāmodaragupta, Newly Edited and Translated into English},
editor = {Csaba Dezső and Dominic Goodall},
translator = {Csaba Dezső and Dominic Goodall},
series = {Groningen Oriental Studies},
number = {23},
location = {Groningen},
publisher = {Egbert Forsten},
year = {2012},
}
\end{filecontents*}
\begin{filecontents*}{biber.conf}
<?xml version="1.0" encoding="UTF-8"?>
<config>
<sourcemap>
<maps datatype="bibtex" bmap_overwrite="1">
<map>
<per_datasource>pri.bib</per_datasource>
<map_step map_field_set="KEYWORDS" map_field_value="pri"/>
</map>
<map>
<per_datasource>sec.bib</per_datasource>
<map_step map_field_set="KEYWORDS" map_field_value="sec"/>
</map>
</maps>
</sourcemap>
</config>
\end{filecontents*}
\addbibresource{pri.bib}
\addbibresource{sec.bib}
\begin{document}
\nocite{*}
\printbibliography[title=Primary Sources, keyword=pri,heading=subbibliography]
\printbibliography[title=Secondary Sources, keyword=sec,heading=subbibliography]
\end{document}
新しいプロジェクトのために、今、それを適切に実行しようと考えていますが、どのように進めればよいかよくわかりません。たとえば、新しいタイプを作成できると思いますが@pri-book
、それには、chicago-authordate.bbx からの定義をコピーし@book
、2 つの追加フィールド (たとえばpri-title
、作品のサンスクリット語タイトルを含む ) とオプションの (pri-author
もちろんこれも定義する必要があります) で拡張し、エントリの最後に出力される年のフィールドの順序を変更する必要がありますか?
答え1
アップデート
author
と を別々に保持するバージョンを以下に示しますtitle
。異なる言語に問題なく対応します。また、ソース マップを保持し、ソース マップを使用して を に設定して、sortkey
エントリtitle
が著者ではなくタイトルで並べ替えられるようにしました。 により、relatedoptions={dataonly,useditor=false,usetranslator=false}
明示的に引用されない限り、関連エントリが参考文献に表示されず、編集者と翻訳者がタイトルの後に表示されるようになります。
非常に賢い方法ではありませんが、始めるには適切な場所です。
\documentclass{article}
\usepackage[french,american]{babel}
\usepackage{csquotes}
\usepackage{xpatch}
\usepackage[authordate,backend=biber,language=auto,autolang=other]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents}{pri.bib}
@misc{Kuṭṭanīmata,
entrysubtype = {classical},
author = {Dāmodaragupta},
title = {Kuṭṭanīmata},
related = {DezsoGoodall2012},
relatedoptions = {dataonly,useeditor=false,usetranslator=false}
}
@misc{Title:fr,
entrysubtype = {classical},
author = {Author},
title = {Title},
langid = {french},
}
\end{filecontents}
\begin{filecontents}{sec.bib}
@book{DezsoGoodall2012,
title = {Dāmodaraguptaviracitaṃ Kuṭṭanīmatam},
subtitle = {The Bawd’s Counsel, Being an Eighth-century Verse Novel in Sanskrit by Dāmodaragupta, Newly Edited and Translated into English},
editor = {Csaba Dezső and Dominic Goodall},
translator = {Csaba Dezső and Dominic Goodall},
series = {Groningen Oriental Studies},
number = {23},
location = {Groningen},
publisher = {Egbert Forsten},
year = {2012}
}
\end{filecontents}
\addbibresource{pri.bib}
\addbibresource{sec.bib}
\DeclareSourcemap{
\maps{
\map{
\perdatasource{pri.bib}
\step[fieldset=keywords, fieldvalue=pri]
\step[fieldsource=title, final]
\step[fieldset=sortkey, origfieldval]
}
}
}
\DeclareFieldFormat[misc]{title}{\mkbibemph{#1}\isdot}
\newbibmacro*{pri:titleofauthor}{%
\ifentrytype{misc}
{\iffieldequalstr{entrysubtype}{classical}
{\ifbibliography
{\printfield{title}%
\ifnameundef{author}
{}
{\setunit*{\addspace}%
\bibstring{of}%
\setunit*{\addspace}%
\printnames{author}%
\clearname{author}}%
\clearfield{title}}
{\printtext[bibhyperref]{\printfield[citetitle]{title}}%
\ifnameundef{labelname}
{}
{\setunit*{\addspace}%
\bibstring{of}%
\setunit*{\addspace}%
\printnames{labelname}}%
\clearfield{labeltitle}%
\clearname{labelname}}}
{}}
{}}
\xpretobibmacro{cite}
{\usebibmacro{pri:titleofauthor}}
{}
{}
\xpatchbibdriver{misc}
{\usebibmacro{bibindex}}
{\usebibmacro{bibindex}\usebibmacro{pri:titleofauthor}}
{}
{}
\begin{document}
Filler text \autocite{Kuṭṭanīmata}.
Filler text \autocite{Title:fr}.
Filler text \autocite{DezsoGoodall2012}.
\printbibliography[title=Primary Sources, keyword=pri,heading=subbibliography]
\printbibliography[title=Secondary Sources, notkeyword=pri,heading=subbibliography]
\end{document}
元の回答
related
これは、 の機能に適した候補のようですbiblatex
。プライマリ ソースのentrysubtype
フィールドを に設定するclassical
ことで、特別な操作を行わなくても必要な出力を得ることができます。
author
理想的には、Kuṭṭanīmata エントリのと を分離したいのですtitle
が、ドライバーを変更したくない場合は、title
フィールド内のすべてを今のままにしておくことができます。
これはどうですか?
\documentclass{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{Kuṭṭanīmata,
entrysubtype = {classical},
title = {\mkbibemph{Kuṭṭanīmata} of Dāmodaragupta},
related = {DezsoGoodall2012},
relatedoptions = {dataonly,useeditor=false,usetranslator=false},
keywords = {pri}
}
@book{DezsoGoodall2012,
title = {Dāmodaraguptaviracitaṃ Kuṭṭanīmatam},
subtitle = {The Bawd’s Counsel, Being an Eighth-century Verse Novel in Sanskrit by Dāmodaragupta, Newly Edited and Translated into English},
editor = {Csaba Dezső and Dominic Goodall},
translator = {Csaba Dezső and Dominic Goodall},
series = {Groningen Oriental Studies},
number = {23},
location = {Groningen},
publisher = {Egbert Forsten},
year = {2012},
keywords = {sec}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Filler text \autocite{Kuṭṭanīmata}.
Filler text \autocite{DezsoGoodall2012}.
\printbibliography[title=Primary Sources, keyword=pri,heading=subbibliography]
\printbibliography[title=Secondary Sources, keyword=sec,heading=subbibliography]
\end{document}