В индологической литературе принято иметь две отдельные библиографии: одну для вторичной литературы, с которой можно справиться более или менее просто с помощью существующих типов и полей, уже присутствующих в 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
для своего основного источника, чтобы получить желаемый вывод, не делая ничего особенного.
В идеале вам следует отделить author
и title
запись Kuṭṭanīmata, но если вы не хотите изменять драйверы, вы можете оставить все в поле, 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}