I'm using biblatex-chicago
to manage citations in my dissertation. I often cite a multi-volume collection, Foreign Relations of the United States, for which there is an accepted citation format. I've created a customized bibliography driver, @archive
to mimic this format, but there is one remaining error I can't fix. The MWE:
\documentclass{article}
\usepackage[notes,backend=biber,booklongxref=bib]{biblatex-chicago}
\DeclareBibliographyAlias{mvarchive}{archive}
\DeclareFieldFormat*[archive]{volume}{vol. #1}
\DeclareFieldFormat*[archive]{part}{\parentext{#1}}
\DeclareDataInheritance{mvarchive}{*}{
\inherit{editor}{editor}
\inherit{location}{location}
\inherit{publisher}{publisher}
\inherit{title}{maintitle}
\inherit{subtitle}{mainsubtitle}
\noinherit{shorttitle}
}
\newbibmacro*{archive-mtitle}{%
\toggletrue{cms@usedvol}%
\printtext[maintitle]{%
\printfield[noformat]{maintitle}%
\setunit{\addcolon\addspace}%
\printfield[noformat]{mainsubtitle}}%
\newcunit
\printfield{maintitleaddon}
\setunit{\addcomma\addspace}%
\printtext[title]{%
\printfield[noformat]{title}}}
\DeclareBibliographyDriver{archive}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
\setunit{\addspace}%
\printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{archive-mtitle}%
\newcunit\newblock
\printfield{volume}%
\printfield{part}
\setunit{\addcolon\addspace}%
\printtext[subtitle]{%
\printfield[title]{subtitle}}%
\newunit\newblock
\usebibmacro{publ+loc+year}%
\newunit\newblock
\usebibmacro{finentry}}%
\DeclareBibliographyDriver{cite:archive}{%
\usebibmacro{bibindex}%
\ifboolexpr{
test {\iffieldundef{crossref}}%
or
not test {\ifentryseen{\thefield{crossref}}}%
}% expression
{%
\usebibmacro{editor}%
\setunit{\addspace}%
\printfield{nameaddon}%
\setunit{\addcomma\addspace}%
\newcunit\newblock
\usebibmacro{archive-mtitle}%
\newcunit\newblock
\usebibmacro{cpubl+loc+year}%
\newcunit\newblock
\printfield{volume}%
\printfield{part}%
\newcunit\newblock
\usebibmacro{volfullpostnote}%
\newcunit\newblock
\usebibmacro{cite+doi+url}%
\newcunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}%
\usebibmacro{book:xref+finentry}%
}%
{%
\entrydata{\thefield{crossref}}{%
\clearname{editor}%
\printtext[cmshyperlink]{%
\printfield[citetitle]{labeltitle}}}%
\setunit{\addcomma\addspace}%
\clearname{editor}%
\printtext[cmshyperlink]{%
\printfield[citetitle]{labeltitle}}%
\newcunit\newblock
\printfield{volume}%
\printfield{part}%
\newcunit\newblock
\usebibmacro{volfullpostnote}%
\newcunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@MVarchive{FRUS,
Editor = {{U.S. Department of State}},
Location = {Washington},
Publisher = {United States Government Printing Office},
Shorttitle = {FRUS},
Title = {Foreign Relations of the United States}}
@archive{FRUS:61-63:5.1,
Title = {1961--1963},
Subtitle = {Soviet Union},
Shorttitle = {1961--63},
Volume = {5},
Part = {1},
Crossref = {FRUS},
Year = {1998}}
@archive{FRUS:64-68:11,
Title = {1964--1968},
Subtitle = {Arms Control and Disarmament},
Shorttitle = {1964--68},
Volume = {11},
Crossref = {FRUS},
Year = {1997}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Note.\footcite[795--96]{FRUS:61-63:5.1}
Note.\footcite[50-52]{FRUS:61-63:5.1}
Note.\footcite[654--56]{FRUS:64-68:11}
Note.\footcite[50-52]{FRUS:61-63:5.1}
\printbibliography
\end{document}
Resulting in:
That's exactly how FRUS citations should look in chicago-style, with the exception of footnote 4. Notice that when I repeat the citation for FRUS 1961-63 in footnote 2, it gives me an ibid and a postnote, as it should. Likewise, in footnote 3, it is the first instance of a different FRUS volume, so it gives me the shorttitle
for the parent, followed by the shorttitle
for the child, the volume
, and the postnote. But when I repeat the citation for FRUS 61-63 in footnote 4, it reverts to a completely different style.
What changes do I need to make to have footnote 4 look exactly like footnote 3?
@mvcollection
s/@collection
s.