シカゴ マニュアル オブ スタイルでは、著者日付スタイルで、同じ段落内で同じ作品への参照が繰り返される場合は、ページ番号のみを括弧で囲んで引用することを推奨しています。 は、 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
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
この+
バージョンは3.12で導入されましたbiblatex
(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 フックが見つかっていません。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}