仅在脚注中停用 ibidtracker(authoryear-icomp 样式)

仅在脚注中停用 ibidtracker(authoryear-icomp 样式)

biblatex 中是否有可能ibidtracker仅停用脚注?我对 biblatex 还很陌生,尚未找到此问题的解决方案。

我使用 biblatex 和authoryear-icompcitestyle,所以我的引文通常位于正文中 [例如:TEXTTEXT (Elden 1998: 73) TEXTTEXT (Ibid.: 28)]。但我也有脚注(我使用命令 \footnote)来添加其他信息和引文。目前看起来像这样:“FOOTNOTETEXTFOOTNOTETEXT (Ibid.: 39)”,但我希望有“FOOTNOTETEXTFOOTNOTETEXT (Elden 1998: 39)”。

因此希望 ibidtracker 仅适用于正文中的引文,而不适用于脚注中的引文。

非常感谢您付出的时间和帮助!

我的当前设置:

\documentclass [paper=a4, DIV10, fontsize=11pt, headsepline, headings=small, bibliography=totoc, numbers=endperiod] {scrreprt}

\usepackage[applemac]{inputenc}
\usepackage[english, ngerman]{babel}
\usepackage[autostyle,german=quotes]{csquotes}
\usepackage{lmodern} 
\usepackage[T1]{fontenc}
\usepackage{rotating}
\usepackage[obeyspaces]{url}
\usepackage{xcolor}

\usepackage{tabularx}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{chngcntr}
\counterwithout{table}{chapter}

\usepackage[left=2.5cm,right=2.5cm,top=2cm,bottom=2cm,includeheadfoot]{geometry}
\usepackage{setspace}
\setlength{\parindent}{1em}
\onehalfspacing

\addtokomafont{partentry}{\centering}
\setkomafont{partentrypagenumber}{\color{white}}

\deffootnote{1em}{1em}{\textsuperscript{\thefootnotemark\ }}
\usepackage{chngcntr}
\counterwithout{footnote}{chapter}

\usepackage{epigraph}
\setlength{\epigraphwidth}{.5\textwidth}
\setlength{\epigraphrule}{0pt}
\renewcommand{\textflush}{flushepinormal}

\usepackage[automark]{scrpage2}
\setlength{\headsep}{12mm}

\usepackage[style=authoryear, citestyle=authoryear-icomp, maxnames=2, sorting=nyt, backend=biber, dashed=false, isbn=false, uniquename=false]{biblatex}

答案1

默认情况下,ibidtracker 已经分别跟踪文本和脚注中的引用。如果您只想跟踪文本中的引用,那么您可以修改的编码设置biblatex以定义一个新ibidtracker选项textonly

文本:

示例文本部分

脚注:

脚注示例

\documentclass{article}

\makeatletter
\def\blx@opt@ibidtracker@textonly{%
  \let\blx@imc@ifciteibid\blx@ifciteibid@textonly
  \let\blx@ibidtracker\blx@ibidtracker@textonly
  \let\blx@ibidreset\blx@ibidreset@textonly
  \booltrue{citetracker}}

\def\blx@ifciteibid@textonly{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\@secondoftwo}
       {\blx@imc@iffieldequals{entrykey}\blx@lastkey@text}}
    {\@secondoftwo}}

\def\blx@ibidtracker@textonly{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\global\let\blx@lastkey@foot\abx@field@entrykey}
       {\global\let\blx@lastkey@text\abx@field@entrykey}}
    {}}

\def\blx@ibidreset@textonly{%
  \iftoggle{blx@footnote}
    {}
    {\global\undef\blx@lastkey@text}}

\makeatother

\usepackage[style=authoryear, citestyle=authoryear-icomp, maxnames=2,
sorting=nyt, backend=biber, dashed=false, isbn=false,
uniquename=false,ibidtracker=textonly]{biblatex}
\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@Article{Elden,
  author =   {Elden, A.},
  title =    {Something},
  journal =  {S. Jor.},
  year =     1998
}
\end{filecontents}

\begin{document}

\cite[73]{Elden} and \cite[28]{Elden} but\footcite[52]{Elden} or
\footcite[71]{Elden} or even\footnote{\cite[20]{Elden}}.
\end{document}

上述编码基于context中的 ibidtracker biblatex2.sty,但当脚注测试为真时,我们尽可能少做操作。

相关内容