МВЭ:

МВЭ:

Используя biblatex-chicago, я хотел бы @bookinbookдействовать аналогично @incollectionиспользованию in shorttitleи только фамилии редактора для @bookin , crossrefкогда есть несколько записей, указывающих на одну и ту же книгу.

МВЭ:

\documentclass{article}

\usepackage[notes]{biblatex-chicago}

\begin{filecontents*}{\jobname.bib}
@book{kotter:schriften.jdam,
    Address = {Berlin},
    Author = {{John of Damascus}},
    Date = {1969/2013},
    Editor = {Kotter, Bonifaz},
    Publisher = {de Gruyter},
    Shorttitle = {Schriften},
    Title = {Die Schriften des Johannes von Damaskos},
    Volumes = {7}}

@bookinbook{jdam:expositio.fidei:kotter1973,
    Crossref = {kotter:schriften.jdam},
    Entrysubtype = {primary},
    Title = {Expositio fidei},
    Volume = {2},
    Year = {1973}}

@bookinbook{jdam:instit.element:dialectica:kotter1969,
    Crossref = {kotter:schriften.jdam},
    Entrysubtype = {primary},
    Title = {Institutio elementaris. Capita philosophica (Dialectica)},
    Volume = {1},
    Year = {1969}}
\end{filecontents*}
\addbibresource{\jobname.bib}


\begin{document}
\nocite{kotter:schriften.jdam,jdam:instit.element:dialectica:kotter1969,jdam:expositio.fidei:kotter1973}
\printbibliography
\end{document}

Выходной ток:

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

Желаемый результат:

Иоанн Дамаскин.Die Schriften des Johannes von Damaskos. Под редакцией Бонифаса Коттера. 7 томов. Берлин: de Gruyter, 1969–2013.

——.Expositio fidei. В Коттере,Шрифты, том. 2. Берлин: де Грюйтер, 1973.

——.Institutio elementaris. Capita philosophica (Диалектика). В Коттере,Шрифты, том. 1. Берлин: де Грюйтер, 1969.

решение1

biblatex-chicagoесть опция booklongxref, которая поможет вам сократить записи библиографии.

\documentclass{article}

\usepackage[notes,booklongxref=false]{biblatex-chicago}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{kotter:schriften.jdam,
    Address = {Berlin},
    Author = {{John of Damascus}},
    Date = {1969/2013},
    Editor = {Kotter, Bonifaz},
    Publisher = {de Gruyter},
    Shorttitle = {Schriften},
    Title = {Die Schriften des Johannes von Damaskos},
    Volumes = {7}}

@bookinbook{jdam:expositio.fidei:kotter1973,
    Crossref = {kotter:schriften.jdam},
    Entrysubtype = {primary},
    Title = {Expositio fidei},
    Volume = {2},
    Year = {1973}}

@bookinbook{jdam:instit.element:dialectica:kotter1969,
    Crossref = {kotter:schriften.jdam},
    Entrysubtype = {primary},
    Title = {Institutio elementaris. Capita philosophica (Dialectica)},
    Volume = {1},
    Year = {1969}}
\end{filecontents*}
\addbibresource{\jobname.bib}


\begin{document}
\nocite{kotter:schriften.jdam,jdam:instit.element:dialectica:kotter1969,jdam:expositio.fidei:kotter1973}
\printbibliography
\end{document}

Иоанн Дамаскин. Письма Иоанна Дамаска. Под редакцией Бонифаса Коттера. 7 томов. Берлин: де Грюйтер, 1969–2013.//---. Expositio fidei. В Schriften, т. 2.//---. Institutio elementaris. Capita philosophica (Диалектика). В Schriften, т. 1.


Результат не совсем то, что вы имели в виду, но, надеюсь, достаточно близок к этому.

Мне кажется особенно сложным сделать так, чтобы краткие ссылки в @bookinbookзаписях ссылались на editorпроизведение @book, когда @bookв первую очередь оно ассоциируется с author.

Другие вещи можно обойти с помощью некоторого сохранения и восстановления значений полей. Внутренне short crossrefсоздается командой цитирования. Дополнительная информация может быть передана этой команде цитирования посредством сохранения полей в макросах и восстановления макросов позже.

\documentclass{article}

\usepackage[notes,booklongxref=false]{biblatex-chicago}

\usepackage{xpatch}
\xapptobibmacro{crossref:volume+postnote}{%
  \newunit\newblock
  \usebibmacro{saved:publ+loc+year}%
}{}{}

\makeatletter
\xapptobibmacro{xrefprenote}{%
  \iflistundef{publisher}
    {\undef\cbx@incollpublisher}
    {\savelist{publisher}{\cbx@incollpublisher}}%
  \iflistundef{location}
    {\undef\cbx@incolllocation}
    {\savelist{location}{\cbx@incolllocation}}%
  \iffieldundef{year}
    {\undef\cbx@incollyear}
    {\savefield{year}{\cbx@incollyear}}%
  \iffieldundef{endyear}
    {\undef\cbx@incollendyear}
    {\savefield{endyear}{\cbx@incollendyear}}%
}{}{}


\newbibmacro*{saved:publ+loc+year}{%
  \ifboolexpr{
    not test {\iflistequals{publisher}{\cbx@incollpublisher}}
    or
    not test {\iflistequals{location}{\cbx@incolllocation}}
    or
    not test {\iffieldequals{year}{\cbx@incollyear}}
    or
    not test {\iffieldequals{endyear}{\cbx@incollendyear}}
  }
    {\restorelist{publisher}{\cbx@incollpublisher}%
     \restorelist{location}{\cbx@incolllocation}%
     \restorefield{year}{\cbx@incollyear}%
     \restorefield{endyear}{\cbx@incollendyear}%
     \printlist{location}%
     \iflistundef{publisher}%
       {\setunit*{\addcomma\addspace}}%
       {\setunit*{\addcolon\addspace}}%
     \printlist{publisher}%
     \setunit*{\addcomma\addspace}%
     \usebibmacro{date}}
    {}}%
\makeatother

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{kotter:schriften.jdam,
    Address = {Berlin},
    Author = {{John of Damascus}},
    Date = {1969/2013},
    Editor = {Kotter, Bonifaz},
    Publisher = {de Gruyter},
    Shorttitle = {Schriften},
    Title = {Die Schriften des Johannes von Damaskos},
    Volumes = {7}}

@bookinbook{jdam:expositio.fidei:kotter1973,
    Crossref = {kotter:schriften.jdam},
    Entrysubtype = {primary},
    Title = {Expositio fidei},
    Volume = {2},
    pages = {2-200},
    Year = {1973}}

@bookinbook{jdam:instit.element:dialectica:kotter1969,
    Crossref = {kotter:schriften.jdam},
    Entrysubtype = {primary},
    Title = {Institutio elementaris. Capita philosophica (Dialectica)},
    Volume = {1},
    pages = {1-100},
    Year = {1969}}
\end{filecontents*}
\addbibresource{\jobname.bib}


\begin{document}
\nocite{kotter:schriften.jdam,jdam:instit.element:dialectica:kotter1969,jdam:expositio.fidei:kotter1973}
\printbibliography
\end{document}

Иоанн Дамаскин. Письма Иоанна Дамаска. Под редакцией Бонифаса Коттера. 7 томов. Берлин: де Грюйтер, 1969–2013.//. Expositio fidei. В Schriften, 2:2–200. Берлин: де Грюйтер, 1973.//. Institutio elementaris. Capita philosophica (Диалектика). В Schriften, 1:1–100. Берлин: де Грюйтер, 1969.

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