同一参考文献在不同页面被引用时,会增加计数器(并且引用的编号不同)。如何防止这种情况?

同一参考文献在不同页面被引用时,会增加计数器(并且引用的编号不同)。如何防止这种情况?

我已经找了好几天如何做,但不幸的是还没有成功。我的 biblatex 书目中有一些参考资料。我引用了,例如,假设“史密斯2018”,在我的文档的不同页面中。我将其作为一个整体引用,而不是像史密斯2018。每次我引用它时,它不仅在不同页面的脚注中显示不同的 [数字](在最后的参考书目中只显示一个数字),而且还会增加连续引用的计数器数字(从而导致最后的参考书目数字跳跃)。

因此,我引用史密斯2018在第 4 页。在该页和脚注中显示为[1]

然后我引用安德森2019在第 5 页。在该页和脚注中显示为[2]

之后我引用史密斯2018在第 6 页再次出现。在该页和脚注中显示为[3]。我希望它显示为[1]

当我引用约翰逊2020在第 7 页,在该页和脚注中显示为[4].我希望[3],下一个数字安德森2019自第二次引用以来史密斯2018必须与其第一次引用的数字相同。

在我的文档末尾的参考书目中,引用显示如下:

[1] 史密斯2018描述(引自第 4 页和第 6 页)

[2] 安德森2019描述(引自第 5 页)

[4] 约翰逊2020描述(引自第 7 页)

我不喜欢从[2][4]。 我想约翰逊2020成为[3]

我该如何解决这个问题?


解决这个问题的一种方法(不太令人满意)如下:

我引用史密斯2018在第 4 页中,如:\autocite[\protect\label{Smith2018}][]{Smith2018}。在该页面和脚注中显示为[1]

然后我引用安德森2019在第 5 页中,如:\autocite[\protect\label{Smith2018}][]{Smith2018}。在该页面和脚注中显示为[2]

之后我链接史密斯2018在第 6 页再次出现,但没有引用,例如:\textsuperscript{\hyperref[Smith2018]{\ref*{Smith2018}}}。在该页面中,它显示为[1](这是我想要的)但它没有显示在脚注中并且不算作真正的引用。

当我引用约翰逊2020在第 7 页中,如:\autocite[\protect\label{Smith2018}][]{Smith2018},在该页面和脚注中显示为[3](这就是我想要的)。

在我的文档末尾的参考书目中,引用显示如下:

[1] 史密斯2018描述(引自第 4 页)- 这里缺少第 6 页,因为我在该页面创建的参考链接不是真正的引用!!!

[2] 安德森2019描述(引自第 5 页)

[3] 约翰逊2020描述(引自第 7 页)

数字没有跃升[2][3]这次,但第二次引用(第 6 页)[1]不见了。

如果无法解决上述问题,我该如何至少让解决方法更易于接受?谢谢。

编辑:

\usepackage[backend=biber,

   citestyle=verbose-ibid,

   sorting=none,

   bibstyle=numeric,

   autocite=footnote,

   backref,

   backrefstyle=none,

   doi=true,

   url=true,

   maxnames=99,

]{biblatex}



\DefineBibliographyStrings{english}{

   backrefpage = {Cited on page},

   backrefpages = {Cited on pages},

} \renewbibmacro{pageref}{\iflistundef{pageref}

      {\printtext[parens]{Not cited}}

      {\printtext[parens]{\ifnumgreater{\value{pageref}}{1}

         {\bibstring{backrefpages}}

         {\bibstring{backrefpage}}

         \printlist[pageref][-\value{listtotal}]{pageref}}}}



\addbibresource{Bibliography.bib}

\usepackage{hyperref}



\begin{document}

...

答案1

从问题中显示的代码来看,你正在做这样的事情

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,
   citestyle=verbose-ibid,
   sorting=none,
   bibstyle=numeric,
   autocite=footnote,
]{biblatex}

\usepackage{hyperref}

\addbibresource{biblatex-examples.bib}


\begin{document}
Lorem\autocite[380]{sigfridsson}
ipsum\autocite[14]{nussbaum}
dolor\autocite[381]{sigfridsson}
sit\autocite[36]{geer}
amet\autocite[123]{worman}
\printbibliography
\end{document}

示例输出

您正在将家族的引用样式verbosenumeric参考书目样式相结合。这不会产生特别有用的输出。

在您的设置中,该verbose样式会产生脚注引用(通常使用脚注),这意味着每个引用都会产生一个\footnote带有引用的普通脚注(就像您使用 得到的脚注一样)。第一次提到来源会产生一个完整的(“详细”)引用,看起来像参考书目条目。同一作品的后续引用只会产生一个简短的“作者标题”式参考。这种风格在某些人文学科领域很常见(当然在德国),其结构与注释引用没有什么不同芝加哥格式手册

虽然verbose样式适用于脚注,但它们不会将脚注的编号用作引用特定引文的唯一标签(verbose-noteverbose-inote生成引用前一个脚注的脚注,但注释编号本身并不能唯一地标识条目,也不能单独用作标签)。至关重要的是,verbose引文产生的所有数字都只是脚注编号

numeric另一方面,该样式使用标签编号来引用参考书目中的条目。在这种方案中,每个条目都应有一个唯一的编号。

因此重申示例代码中引用的数字是脚注编号,没有什么与数字书目生成的标签编号有关。如果您添加额外的常规脚注,您就可以使这一点非常清楚。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,
   citestyle=verbose-ibid,
   sorting=none,
   bibstyle=numeric,
   autocite=footnote,
]{biblatex}

\usepackage{hyperref}

\addbibresource{biblatex-examples.bib}

\begin{document}
\null\vfill % just for the example
Hi\footnote{Hello}
Lorem\autocite[380]{sigfridsson}
dolor\footnote{Dolor}
ipsum\autocite[14]{nussbaum}
dolor\autocite[381]{sigfridsson}
dolor\footnote{Dolor}
sit\autocite[36]{geer}
amet\autocite[123]{worman}
\printbibliography
\end{document}

结果是你不能把verbose引文和numeric参考书目结合起来,并期望数字匹配

如果你想要数字引用(因为它们在 STEM 领域中很常用),那么就使用

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,
   style=numeric,
   sorting=none,
]{biblatex}

\usepackage{hyperref}

\addbibresource{biblatex-examples.bib}

\begin{document}
\null\vfill % just for the example
Hi\footnote{Hello}
Lorem \autocite[380]{sigfridsson}
dolor\footnote{Dolor}
ipsum \autocite[14]{nussbaum}
dolor \autocite[381]{sigfridsson}
dolor\footnote{Dolor}
sit \autocite[36]{geer}
amet \autocite[123]{worman}
\printbibliography
\end{document}

如果您喜欢上标引用(维基百科风格),我建议添加方括号以避免与真正的脚注混淆(除非您不使用脚注)。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,
   style=numeric,
   sorting=none,
   autocite=superscript,
]{biblatex}

\newrobustcmd{\mkbibbracketedsuperscript}[1]{%
  \unspace\allowhyphens\textsuperscript{%
    \begingroup
    \protected\long\def\mkbibsuperscript##1{%
      \blx@warning{Nested superscript}%
      ##1}%
    \mkbibbrackets{#1}%
    \endgroup}}

\DeclareCiteCommand{\supercite}[\mkbibbracketedsuperscript]
  {\iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\supercitedelim}
  {}

\DeclareMultiCiteCommand{\supercites}[\mkbibbracketedsuperscript]
  {\supercite}{\supercitedelim}

\addbibresource{biblatex-examples.bib}

\begin{document}
\null\vfill % just for the example
Hi\footnote{Hello}
Lorem \autocite[380]{sigfridsson}
dolor\footnote{Dolor}
ipsum \autocite[14]{nussbaum}
dolor \autocite[381]{sigfridsson}
dolor\footnote{Dolor}
sit \autocite[36]{geer}
amet \autocite[123]{worman}
\printbibliography
\end{document}

括号内的上标引用。

相关内容