\section 导致引用显示为

\section 导致引用显示为

我有一个主.tex文件,我在其中输入了一些章节,这些章节是其他.tex文件。然后我有一个参考书目,我将其输入到主文件中。如果我\section的输入文件中有一些,那么一些引用就会变成“[0]”。

这是main.tex

\documentclass[12pt, twoside, openright]{book}
\linespread{1.3} 
\usepackage[textheight=\textheight,textwidth=\textwidth,bindingoffset=3cm,vcentering]{geometry}
\usepackage{enumitem}
\usepackage[greek,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{sectsty,lmodern}
\usepackage{float} 

\usepackage[backend=biber,style=numeric, defernumbers=true, refsection=section]{biblatex}

\addbibresource{bib/references.bib}

\graphicspath{ {img/} }
\chapternumberfont{\fontsize{20pt}{18pt}\selectfont}
\chaptertitlefont{\fontsize{20pt}{18pt}\selectfont}
\addtolength{\skip\footins}{2pc plus 2pt}
\usepackage{fancyhdr}
\usepackage{csquotes}
\usepackage[begintext=“, endtext=”]{quoting}
\SetBlockEnvironment{quoting}
\SetBlockThreshold{1} 
\pagestyle{fancyplain}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[LE,RO]{\thepage}
\usepackage[citecolor=black]{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,      
    urlcolor=blue,
    bookmarks=true
}
\urlstyle{same}
\begin{document}

\chapter{chapter one}
\input{chapters/chapter01}

\newpage
\printbibliography[keyword={biblio}, heading=bibintoc, title={Bibliography}]
\newpage
\printbibliography[keyword={site}, heading=bibintoc, title={Sitography}]
\end{document}

这是references.bib

@online{addm,
url = {https://www.cdc.gov/ncbddd/autism/addm-community-report/key-findings.html},
keywords     = {site}
}

@article{kenny2016terms,
  title={Which terms should be used to describe autism? Perspectives from the UK autism community},
  author={Kenny, Lorcan and Hattersley, Caroline and Molins, Bonnie and Buckley, Carole and Povey, Carol and Pellicano, Elizabeth},
  journal={Autism},
  volume={20},
  number={4},
  pages={442--462},
  year={2016},
  publisher={SAGE Publications Sage UK: London, England},
  keywords = {biblio}  
}

这是chapter01.tex

\section{Terminology and Data}
STUFF STUFF STUFF\cite{addm} 

\section{Therapies}
stuff\cite{kenny2016terms} stuff\cite{addm}

奇怪的是,第二个之后的引用\section有效,而第一个之后的引用\section无效。

答案1

这与之无关\input,并且可以在更小的环境中重现,在更小的环境中更容易诊断问题。

\documentclass[12pt, twoside, openright]{book}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[backend=biber, style=numeric, defernumbers=true, refsection=section]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
\chapter{chapter one}
\section{Section One}
Lorem\cite{sigfridsson,worman}

\section{Section Two}
ipsum\cite{sigfridsson} dolor\cite{ctan}

\newpage
\printbibliography[nottype=online, heading=bibintoc, title={Bibliography}]
\newpage
\printbibliography[type=online, heading=bibintoc, title={Sitography}]
\end{document}

请注意,第一部分中的所有引用都显示为“[0]”,并且只有第二部分中的参考文献才有编号。参考书目仅显示第二部分的条目。worman(仅在第一部分中被引用)无处可见。

罪魁祸首是refsection=section,并且问题因而加剧(这真是太幸运了,否则可能会被忽视)defernumbers=true

告诉refsection=section您在文档中的biblatex每个命令处开始一个新的引用部分。特别是\section第一节第二节位于两个不同的参考节中。参考节是一种组织完全独立的书目和引文的方式。它们彼此分开,每个参考节都有自己的排序和编号。\printbibliography您发布的 s 属于第二个打开的参考节第二节worman因此只会从那里选取引用。这解释了为什么我们从未在任何参考书目中看到它——它只在第一部分被引用。

事情更进一步说,就而言,第一部分中的biblatex条目与第二部分中的条目完全独立,它们只是共享相同的条目数据。特别是它们不需要具有相同的标签编号(引用标签)或相同的排序。由于您使用条目,因此将根据整体排序为它们分配标签编号。相反,它们在第一次出现在参考书目中时会获得标签编号。这就是为什么第二部分中的 是“[1]”和是“[2]”,尽管按字母顺序排序会先于。(更改为以查看此内容。)第一部分的条目从未出现在任何参考书目中,因此从未被分配任何编号。因此,它们总是显示“[0]”。sigfridssonsigfridssondefernumberssigfridssonctanctansigfridssondefernumbers=false

有几种方法可以解决这个问题。

  • \printbibliography为每个添加一个\section以获得独立的书目\section
  • 切换到以按而不是refsection=chapter按 生成独立的书目和引文。\chapter\section
  • 完全放弃该refsection选项以生成所有章节的全局书目和全局引用。

相关内容