Обновлять

Обновлять

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

введите описание изображения здесь

Связанный контент