在印度學文獻中,有兩個獨立的參考書目的慣例:一個用於二級文獻,可以透過biblatex(-chicago) 中已有的現有類型和字段或多或少地直接處理,另一個是主要文獻,在之前的出版項目我不得不採取醜陋的黑客手段,例如濫用該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
,我想我必須@book
從chicago-authordate.bbx 複製 的定義,並通過兩個額外的字段擴展它,例如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
為您的主要來源,以獲得您想要的輸出,而無需真正做任何聰明的事情。
理想情況下,您希望將 Kuṭṭanīmata 條目分開author
,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}