biblatex-chicago 中的段落中斷(或部分/環境邊界)後自動重置引文追蹤器

biblatex-chicago 中的段落中斷(或部分/環境邊界)後自動重置引文追蹤器

《芝加哥風格手冊》建議其作者日期風格,當在同一段落中重複引用同一作品時,僅在括號中引用頁碼。 biblatex-chicago在一定程度上遵循這一點。正如手冊(第 122 頁)中所提到的,它會在分頁符號處重置追蹤器,並建議使用biblatex\citereset命令來手動實現所需的行為。有沒有一種方法可以自動執行此操作,以便追蹤器在每個分節符和環境邊界(例如區塊引用)後重置,或者甚至在每個分節符後重置,因為它更符合 CMoS?

順便說一句,該手冊確實聲明該包“提供對部分、章節、部分和小節邊界的自動重置”(第 122 頁),但是我沒有通過以下 MWE 獲得該行為:

% !TEX TS-program = xelatexmk
\documentclass{report}

\usepackage{filecontents}
\begin{filecontents}{bib.bib}
@article{citethis,
    Author = {Author, Anton},
    Journal = {Journal},
    Title = {The Article},
    Year = 2019}}
\end{filecontents}

\usepackage[authordate, backend=biber]{biblatex-chicago}
\addbibresource{bib.bib}

\begin{document}
This is some text with a citation \autocite[54]{citethis} and some more text and another citation of the same reference \autocite[56]{citethis}. 

\section{A section title}
After a section break the same reference is cited again % \citereset 
\autocite[57]{citethis}.

\begin{quote}
And this is a block quote, yet again from the same author.  A very popular author indeed. % \citereset 
\autocite[58]{citethis}
\end{quote}

More text to add.  And after the block quote the same reference is cited again %\citereset 
\autocite[59]{citethis}. And again \autocite[60]{citethis}.

And after a paragraph break again \autocite[61]{citethis}.

\end{document}

因此,本質上,後註 57、58 和 59 的引文應完整列印(在環境邊界之後和分節之後)。

理想情況下,後註 61 的引文也應該完整列印,以完全符合 CMoS,但是,這似乎實現起來可能更複雜,所以我已經對前者的解決方案感到滿意了。 (這當然會避免為前面的情況提供單獨的解決方案,因為環境和部分邊界始終還包括段落分隔符號。)

答案1

biblatexcitereset具有自動發出\citereset切片命令的選項。我想這就是biblatex-chicago手冊中所引用的段落所指的內容。支援以下值

  • none– 此功能已關閉
  • part–在每個命令處biblatex執行\citereset\part
  • chapter/ chapter+(僅當文檔類別支援\chapters 時) –在每個命令biblatex處執行\citereset\chapter
  • section/ section+–在每個命令處biblatex執行\citereset\section
  • subsection/ subsection+–在每個命令處biblatex執行\citereset\subsection

這些+版本是在biblatex3.12 中引入的(https://github.com/plk/biblatex/issues/773,https://github.com/plk/biblatex/pull/809)並重置所有更高級別的追蹤器。 (文件尚未完全更新以正確反映這一點,此問題已biblatex在 3.13 中修復https://github.com/plk/biblatex/commit/1d35a968c61a6459b00cda73d5db7ff4a3bb29b6.)

所以

citereset=subsection+,

也許值得嘗試。每個段落的重置會很好,但是直到今天還沒有找到合適的 LaTeX 鉤子,請參見。https://github.com/plk/biblatex/issues/715。歡迎提出建議。

biblatex不會自動修補所有環境以發出 a\citereset並且我認為這不是一個好主意,因此您必須手動執行此操作,例如etoolbox使用\AtBeginEnvironment\AtEndEnvironment

\documentclass{report}
\usepackage[authordate, backend=biber, citereset=subsection+]{biblatex-chicago}

\AtBeginEnvironment{quote}{\citereset}
\AtEndEnvironment{quote}{\citereset}

\addbibresource{biblatex-examples.bib}

\begin{document}
This is some text with a citation \autocite[54]{sigfridsson}
and some more text and another citation of the same reference
\autocite[56]{sigfridsson}.

\section{A section title}
After a section break the same reference is cited again
\autocite[57]{sigfridsson}.

\begin{quote}
And this is a block quote, yet again from the same author.
A very popular author indeed.
\autocite[58]{sigfridsson}
\end{quote}

More text to add.  And after the block quote the same reference is cited again
\autocite[59]{sigfridsson}. And again \autocite[60]{sigfridsson}.

And after a paragraph break again \autocite[61]{sigfridsson}.
\end{document}

這是帶有引文的一些文本(Sigfridsson and Ryde 1998, 54) 以及更多文本和同一參考文獻的另一個引文(56)。文獻(Sigfridsson)和 Ryde 1998, 57).//這是一個塊引用,又來自同一作者。確實是一位非常受歡迎的作家。 (Sigfridsson 和 Ryde 1998, 58)//要增加的更多文本。在區塊引用之後,再次引用相同的參考文獻(Sigfridsson 和 Ryde 1998, 59)。再(60)。又在段落中斷之後(61)。

相關內容