《芝加哥風格手冊》建議其作者日期風格,當在同一段落中重複引用同一作品時,僅在括號中引用頁碼。 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
biblatex
citereset
具有自動發出\citereset
切片命令的選項。我想這就是biblatex-chicago
手冊中所引用的段落所指的內容。支援以下值
none
– 此功能已關閉part
–在每個命令處biblatex
執行\citereset
\part
chapter
/chapter+
(僅當文檔類別支援\chapter
s 時) –在每個命令biblatex
處執行\citereset
\chapter
section
/section+
–在每個命令處biblatex
執行\citereset
\section
subsection
/subsection+
–在每個命令處biblatex
執行\citereset
\subsection
這些+
版本是在biblatex
3.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}