有没有一种优雅的方法可以全局禁用 中重复作者的省略biblatex
?我知道我可以\citereset
手动调用来实现这种效果,所以我可以重新定义\cite
和朋友来包含\citereset
:
\documentclass{memoir}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\addbibresource{\jobname.bib}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{author2014,
author = {Author, My},
title = {Book 2014},
year = {2014}
}
\end{filecontents*}
\begin{document}
Some text.{\footnote{\cite[1]{author2014}}
Some more text.{\footnote{\cite[2]{author2014}}
Even more text.\citereset{\footnote{\cite[3]{author2014}}
\let\oldcite\cite
\def\cite{\citereset\oldcite}
Again some text.\footnote{\cite[4]{author2014}}
\printbibliography
\end{document}
这是可行的方法吗,还是我遗漏了什么?
答案1
我们可以确保仅在脚注中重置 ibid-tracker
\makeatletter
\AtEveryCitekey{\global\undef\blx@lastkey@foot}
\makeatother
然后,我们仅在脚注中禁用 ibid-tracker,这样我们仍然可以获得有意义的脚注,同时又不会失去文本正文的 CMS 合规性。(虽然我认为完全严格的 CMS 会要求在\citerest
每个段落后发出,请参阅第 114 页biblatex-chicago
手动的:“从技术上讲,[ibid 机制] 应该只在某个来源‘在一段中被引用不止一次’(15.26)时才适用,因此您可以使用\citereset
from 命令来biblatex
实现最大程度的合规性,因为该软件包仅提供在部分、章节、节和小节边界上的自动重置,而biblatex-chicago
在分页符处自动重置跟踪器。”)
\documentclass{memoir}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\makeatletter
\AtEveryCitekey{\global\undef\blx@lastkey@foot}
\makeatother
\begin{document}
Some text.\footcite[1]{sigfridsson}
Some more text.\footnote{\cite[2]{sigfridsson}}
Even more text.\footcite[3]{sigfridsson}
Again some text.\footcite[4]{sigfridsson}
\printbibliography
\end{document}
如果你希望至少在脚注中有真正的“同上”,那么使用
\documentclass{memoir}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\makeatletter
\renewbibmacro*{cite:ibid}{%
\iftoggle{cms@noibid}%
{\blx@ibidreset%
\usebibmacro{cite}}%
{\iffootnote
{\printtext[bibhyperref]{%
\bibstring[\mkibid]{ibidem}}}
{\ifthenelse{\iffieldundef{prenote}\AND%
\iffieldundef{postnote}}%
{\blx@ibidreset%
\usebibmacro{cite}%
\PackageWarning{biblatex-chicago}%
{Empty Ibidem citation}}%
{\toggletrue{cms@inlineibid}}}}}
\makeatother
\begin{document}
Some text.\footcite[1]{sigfridsson}
Some more text.\footnote{\Cite[2]{sigfridsson}}
Even more text.\footcite[3]{sigfridsson}
Again some text.\footcite[4]{sigfridsson}
\printbibliography
\end{document}