을 사용하면 동일한 책을 가리키는 항목이 여러 개 있을 때 in 에 the 와 편집자의 성을 사용하는 것과 유사하게 동작하고 biblatex-chicago
싶습니다 .@bookinbook
@incollection
shorttitle
@book
crossref
MWE:
\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. 보니파즈 코터(Bonifaz Kotter)가 수정함. 7 권. 베를린: 드 그뤼터(de Gruyter), 1969-2013.
——.신앙의 증거. 코터에서는슈리프텐, 권. 2. 베를린: 드 그뤼터(de Gruyter), 1973.
——.연구소 Elementaris. Capita philosophica(변증법). 코터에서는슈리프텐, 권. 1. 베를린: 드 그뤼터(de Gruyter), 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}
출력은 여러분이 염두에 두었던 것과 정확히 일치하지는 않지만 충분히 가깝기를 바랍니다.
가 주로 와 연관되어 있는 경우 작품 의 를 @bookinbook
참조하기 위해 항목 에서 짧은 참조를 얻는 것이 나에게는 특히 어려운 것 같습니다 .editor
@book
@book
author
다른 문제는 필드 값을 저장하고 복원하여 해결할 수 있습니다. 내부적으로 단편은 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}