LaTeX技巧:如何给每章或每节加入独立的参考文献
latex中有多种方法来给每部分文字加入独立参考文献。我用的是chapterbib,其他还有natbib和bibunits。如果你的ctex是完全安装,那么在文本开头加入上述包,鼠标双击\usepackage,就能弹出相应的帮助文档,介绍的非常全面。
比如,加入chapterbib包(\usepackage{chapterbib}),双击‘\usepackage’部分,会弹出如下帮助文档。
对于有好几章的book类型文本,利用chapterbib使各章有独立参考文献很简单。下面是代码示例。
主文件为test.tex,包含两个章节:
\documentclass{book}
\usepackage[sectionbib]{chapterbib}
\begin{document}
\include{chp/chp1}
\include{chp/chp2}
\end{document}
其中的参数sectionbib是为了让每章的参考文献具有小节的样式,在标签中归入相应章节。
两个章节chp1.tex和chp2.tex放在主文件目录下的chp文件夹。bib文件thesis.bib也放在chp文件夹。
chp1.tex内容为:
\chapter{chapter 1}
this is chapter 1.\cite{PRB.86.205420}\cite{JAP.67.6454}
\bibliographystyle{plain}
\bibliography{thesis}
chp2.tex内容为:
\chapter{chapter 2}
this is chapter 2.
\cite{PRB.86.205420}
\bibliographystyle{plain}
\bibliography{thesis}
编译时,先对主文件进行latex编译,再分别对各个章节文件进行bbitex编译,再对主文件两次latex。即:latex test.tex, bibtex chp1.tex, bibtex chp2.tex, latex test.tex, latex test.tex。
效果如:
本人用的是中科院的论文模板CASthesis,而不是book,所以这么用了之后有两个问题。一个是第二章的参考文献计数不清零,接着第一章,比如第一章有10个参考文献,那第二章的参考文献就是从11开始计数的。另外一个问题是每章的参考文献都是章节的样式,即使用了sectionbib也切换不到小节样式。
后来才发现,是CASthesis里面已经预先打开了natbib的包。解决方案是:
在文件CASthesis.cls中找到
\RequirePackage[sort&compress,numbers]{natbib}
替换为:
\RequirePackage[sectionbib]{chapterbib}
这样这两个问题都解决了。
比如,加入chapterbib包(\usepackage{chapterbib}),双击‘\usepackage’部分,会弹出如下帮助文档。
对于有好几章的book类型文本,利用chapterbib使各章有独立参考文献很简单。下面是代码示例。
主文件为test.tex,包含两个章节:
\documentclass{book}
\usepackage[sectionbib]{chapterbib}
\begin{document}
\include{chp/chp1}
\include{chp/chp2}
\end{document}
其中的参数sectionbib是为了让每章的参考文献具有小节的样式,在标签中归入相应章节。
两个章节chp1.tex和chp2.tex放在主文件目录下的chp文件夹。bib文件thesis.bib也放在chp文件夹。
chp1.tex内容为:
\chapter{chapter 1}
this is chapter 1.\cite{PRB.86.205420}\cite{JAP.67.6454}
\bibliographystyle{plain}
\bibliography{thesis}
chp2.tex内容为:
\chapter{chapter 2}
this is chapter 2.
\cite{PRB.86.205420}
\bibliographystyle{plain}
\bibliography{thesis}
编译时,先对主文件进行latex编译,再分别对各个章节文件进行bbitex编译,再对主文件两次latex。即:latex test.tex, bibtex chp1.tex, bibtex chp2.tex, latex test.tex, latex test.tex。
效果如:
本人用的是中科院的论文模板CASthesis,而不是book,所以这么用了之后有两个问题。一个是第二章的参考文献计数不清零,接着第一章,比如第一章有10个参考文献,那第二章的参考文献就是从11开始计数的。另外一个问题是每章的参考文献都是章节的样式,即使用了sectionbib也切换不到小节样式。
后来才发现,是CASthesis里面已经预先打开了natbib的包。解决方案是:
在文件CASthesis.cls中找到
\RequirePackage[sort&compress,numbers]{natbib}
替换为:
\RequirePackage[sectionbib]{chapterbib}
这样这两个问题都解决了。