讓 biblatex-chicago 參考後續註釋中第一次提到的內容

讓 biblatex-chicago 參考後續註釋中第一次提到的內容

在 biblatex-chicago 的註釋版本中,第一次引用會在腳註中給出完整的引用,而任何後續引用只會給出姓氏和短標題。有什麼方法可以在使用完整引文的地方添加腳註編號嗎?

所以在例子中:

\documentclass{memoir}
\usepackage[notes]{biblatex-chicago}
\usepackage{filecontents}

\begin{filecontents}{biblio.bib}
    @book{book1,
        title = {First Book title},
        author = {Author, The},
        location = {Place},
        publisher = {Publisher},
        date = {2020},
    }
    @book{book2,
        title = {Second Book title},
        author = {Author, Another},
        location = {Place},
        publisher = {Publisher},
        date = {2020},
    }
\end{filecontents}
\bibliography{biblio}
\begin{document}
Here is\footcite{book1} some\footcite{book2} text as filler.\footcite{book1}

\end{document}

註 3 的輸出應該是“作者,第一本書標題(參考文獻 1)”,而不僅僅是“作者,第一本書標題”

為了使其正常工作,我還要求在每章開頭重置引用。

答案1

標準樣式verbose-note提供了這樣的選項,因此我們可以嘗試將其程式碼移植到biblatex-chicago.

\documentclass{memoir}
\usepackage[notes]{biblatex-chicago}

% Taken from verbose-note.cbx
\newtoggle{cbx:pageref}
\DeclareBibliographyOption[boolean]{pageref}[true]{%
  \settoggle{cbx:pageref}{#1}%
  \iftoggle{cbx:pageref}
    {\ExecuteBibliographyOptions{pagetracker}}
    {}}

\newbibmacro*{seenote}{%
  \printtext[parens]{%
    \bibstring{seenote}\addnbspace
    \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
    \iftoggle{cbx:pageref}
      {\ifsamepage{\the\value{instcount}}
                  {\csuse{cbx@f@\thefield{entrykey}}}
         {}
         {\addcomma\space\bibstring{page}\addnbspace
          \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
      {}}%
}

% Simplified version of chicago-notes.cbx's definition
% cf. also the definition in verbose-note.cbx
\renewbibmacro*{footcite:save}{%
  \iffootnote
    {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
     \label{cbx@\the\value{instcount}}}%
    {}}%

\makeatletter
% Just add a call to \usebibmacro{seenote} to the definition
\renewbibmacro*{cite:short}[1]{%
  \global\let\cms@pnsaved\undefined%
  \ifcsundef{cite:short:#1}%
    {\csuse{cite:short:book}}%
    {\csuse{cite:short:#1}}%
   \setunit{\addspace}%
   \usebibmacro{seenote}}%
\makeatother


\begin{filecontents}{\jobname.bib}
@book{book1,
  title     = {First Book title},
  author    = {Author, The},
  location  = {Place},
  publisher = {Publisher},
  date      = {2020},
}
@book{book2,
  title     = {Second Book title},
  author    = {Author, Another},
  location  = {Place},
  publisher = {Publisher},
  date      = {2020},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Here is\footcite{book1} some\footcite{book2} text as filler.\footcite{book1}
\end{document}

作者,第一本的書名(見註 1)。

編輯更新了 2020/04/20 版本biblatex-chicago。請參閱使用舊版的程式碼的編輯歷史記錄。

相關內容