biblatex-chicago で段落区切り (またはセクション/環境境界) 後に引用トラッカーを自動的にリセットする

biblatex-chicago で段落区切り (またはセクション/環境境界) 後に引用トラッカーを自動的にリセットする

シカゴ マニュアル オブ スタイルでは、著者日付スタイルで、同じ段落内で同じ作品への参照が繰り返される場合は、ページ番号のみを括弧で囲んで引用することを推奨しています。 は、 biblatex-chicagoある程度これに従っています。マニュアル (p. 122) で述べられているように、ページ区切りでトラッカーがリセットされ、biblatex\citeresetコマンドを使用して手動で目的の動作を実現することが推奨されています。これを自動化して、トラッカーがセクション区切りごと、環境境界 (たとえば、blockquote など) ごとにリセットされるようにする方法はありますか。あるいは、CMoS にもっと準拠するように、段落区切りごとにリセットされるようにする方法はありますか。

ちなみに、マニュアルには、パッケージは「パート、章、セクション、サブセクションの境界で自動リセットを提供する」(p. 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 の引用は、完全に印刷される必要があります (環境境界の後とセクション区切りの後)。

理想的には、CMoS に完全に準拠するために、ポストノート 61 の引用も完全に印刷する必要がありますが、それを実現するのはおそらくより複雑であると思われるため、前者に対する解決策で十分です。(もちろん、環境とセクションの境界には常に段落区切りも含まれるため、これにより、前のケースに対する別の解決策が不要になります。)

答え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

この+バージョンは3.12で導入されましたbiblatexhttps://github.com/plk/biblatex/issues/773https://github.com/plk/biblatex/pull/809)そして、すべての上位レベルのトラッカーもリセットします。(ドキュメントはそれを適切に反映するように完全に更新されていませんでしたが、これはbiblatex3.13で修正されました。https://github.com/plk/biblatex/commit/1d35a968c61a6459b00cda73d5db7ff4a3bb29b6

それで

citereset=subsection+,

試してみる価値はあるかもしれません。段落ごとにリセットできればよいのですが、今日まで適切な LaTeX フックが見つかっていません。cf.https://github.com/plk/biblatex/issues/715ご提案をお待ちしております。

biblatexは、すべての環境にパッチを適用して を発行するわけではあり\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) です。//0.1 セクション タイトル//セクション区切りの後、同じ参考文献が再び引用されています (Sigfridsson and Ryde 1998, 57)。//これはブロック引用文で、これも同じ著者からの引用です。非常に人気のある著者です。 (Sigfridsson and Ryde 1998, 58)//さらにテキストを追加します。ブロック引用文の後、同じ参考文献が再び引用されています (Sigfridsson and Ryde 1998, 59)。また (60)。段落区切りの後にも (61)。

関連情報