新章节后重新开始同上

新章节后重新开始同上

所以我希望在新章节之后有完整的引文,然后只有同上。我正在使用biblatex这种authoryear-ibid风格。

\newbibmacro*{cite}{%
    \global\boolfalse{cbx:loccit}%
    \iffieldundef{shorthand}
        {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
            {\usebibmacro{cite:ibid}}
            {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
                {\usebibmacro{cite:label}%
                \setunit{\printdelim{nonameyeardelim}}}
                {\printnames{labelname}%
                \setunit{\printdelim{nameyeardelim}}}%
            \usebibmacro{cite:labelyear+extrayear}}}
        {\usebibmacro{cite:shorthand}}}

因此,我在中找到上述内容,authoryear-ibid.cbx据我所知,我需要将更改为\iffirstonpage类似的内容\ifnewchapter。但是我不知道如何创建\ifnewchapter宏或如何覆盖\iffirstonpage

左边的图片显示了我得到的结果,右边的图片显示了我想要的结果:

这是 MWE:

\documentclass{scrreprt}
\usepackage[style=authoryear-ibid]{biblatex}
\bibliography{example}
\begin{document}
    \chapter{Example 1}
    Text (\cite{Johnson99})

    More Text (\cite{Johnson99})
    \chapter{Example 2}
    Text (\cite{Johnson99})
\end{document}

答案1

您需要选项citereset=chapter。严格来说,该选项不仅会在每个新章节重置“ibidem”跟踪,而且对于样式,authoryear-ibid只有“ibidem”跟踪会受到影响,对于其他样式,这种更广泛的重置甚至可能是可取的。

\documentclass{scrreprt}
\usepackage[style=authoryear-ibid, citereset=chapter]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
  \chapter{Example 1}
  Text \parencite{sigfridsson}

  More Text \parencite{sigfridsson}

  \chapter{Example 2}
  Text \parencite{sigfridsson}
\end{document}

相关内容