Автоматически сбрасывать счетчик цитирования после разрывов абзацев (или границ раздела/окружения) в biblatex-chicago

Автоматически сбрасывать счетчик цитирования после разрывов абзацев (или границ раздела/окружения) в biblatex-chicago

Чикагское руководство по стилю рекомендует для своего стиля автор-дата указывать в скобках только номер страницы, когда ссылки на одну и ту же работу повторяются в одном абзаце. biblatex-chicagoследует этому в определенной степени. Как упоминалось в руководстве (стр. 122), оно сбрасывает трекер при разрывах страниц и рекомендует использовать команду biblatex's \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– функция отключена
  • partbiblatexвыполняет \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.13https://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).//0.1 Заголовок раздела//После разрыва раздела та же ссылка цитируется снова (Sigfridsson and Ryde 1998, 57).//А это блочная цитата, снова от того же автора. Действительно очень популярный автор. (Sigfridsson and Ryde 1998, 58)//Еще текст для добавления. И после блочной цитаты та же ссылка цитируется снова (Sigfridsson and Ryde 1998, 59). И снова (60). И после разрыва абзаца снова (61).

Связанный контент