我想将不同的章节分成不同的部分,每个章节都有自己的参考文献列表。我部分实现了这一点,但第二章的编号不正确。我在第一章中使用的参考文献在第二章中保持相同的编号。我几乎对这个问题视而不见,所以我真的希望有人能帮助我。
\documentclass[paper=A4,
twoside=true,
11pt,
headings=normal
]{scrreprt}
\usepackage[
backend= bibtex,
bibencoding=utf8,
style=nature,
sorting=none,
defernumbers=true,
refsegment=chapter,
natbib=true,
backref = false
]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@misc{B02,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
}
@misc{C03,
author = {Cuthor, C.},
year = {2003},
title = {Charlie},
}
@misc{D04,
author = {Duthor, C.},
year = {2003},
title = {Delta},
}
@misc{E05,
author = {Euthor, C.},
year = {2003},
title = {Ecko},
}
@misc{F06,
author = {Futhor, C.},
year = {2003},
title = {Foxtrot},
}
\end{filecontents}
\addglobalbib{\jobname.bib}
\begin{document}
\chapter{intro}
test \cite{A01} test \cite{B02} test \cite{C03} test \cite{D04}.
\printbibliography[segment=\therefsegment,resetnumbers=true,heading=subbibliography]
\chapter{chap2}
test \cite{E05} test \cite{B02} test \cite{A01} test \cite{F06}
\printbibliography[segment=\therefsegment,resetnumbers=true,heading=subbibliography]
\end{document}
答案1
为了让每一章都有独立的编号,您需要使用refsection
而不是refsegment
(参见手册biblatex
,§ 3.6.6):
refsection
和环境之间的区别refsegment
在于,前者创建的标签是环境本地的,而后者为 的segment
过滤器提供了一个目标,\printbibliography
而不会影响标签。它们在整个文档中都是唯一的。
因此,只需在您的示例中更改refsegment=chapter
为refsection=chapter
即可实现所需的输出。
请注意,当使用 BibTeX 作为 的后端时biblatex
,此方法会创建多个辅助文件,每个 一个refsection
,需要单独处理。因此,如果您的文档名为document.tex
,而不是 ,bibtex document
您需要执行bibtex document1-blx
,bibtex document2-blx
,...(日志文件包含提示您需要运行哪些命令)。使用替代后端比贝尔,这是没有必要的。
答案2
你可能想看看章节目录
您必须创建一个主文件,在其中保存\include{}
其他 .tex 文件,然后在每个包含的文件中放置参考书目:
\documentclass[
paper=A4,
twoside=true,
11pt,
headings=normal
]{scrreprt}
\usepackage{chapterbib}
\begin{document}
\include{chapter_one}
\end{document}
然后在 chapter_one.tex 中:
% Content of document
\bibliographystyle{style}
\bibliography{Mybibliography}