我正在制作简历,我想添加我的出版物列表。但是,.bib
每种出版物我都有一个不同的文件(因为我试图添加与国际出版物分开的书籍章节、与会议出席分开的章节等)。每个文件bib
在主简历文件中都有自己的部分供他们查看。
我这样做的方法是为每个创建一个单独的小脚本bib
,例如下面这个(还有 4 个这样的脚本)
\documentclass[letterpaper]{article}
\usepackage[latin1]{inputenc}
\begin{document}
\bibliographystyle{ieeetr}
\nocite{*}
\bibliography{myintpubs}
\end{document}
它不仅生成 pdf 文档,还生成一个.bbl
文件。因此,我手动编译每个小脚本(针对我要分离的每种出版物各一个),并将生成的.bbl
文件输入到主 pdf 的各自部分中。像这样:
\begin{rSection}{International Journal Publications}
\begingroup
\renewcommand{\section}[2]{}
\input{./makerefen2/intpub_makeref.bbl}
\endgroup
\end{rSection}
{\bf Talks and presentations}\\
\begingroup
\renewcommand{\section}[2]{}
\input{./makerefen/talk_makeref.bbl}
\endgroup
然后我编译主 pdf,一切就都正常了。问题是,这样做效率很低,因为对于我所做的每项更改,我都必须执行pdflatex
,bibtex
,pdflatex
只是为了生成.bbl
s(针对每个bib
文件),然后才编译主 pdf。
我确信有更好的方法可以做到这一点。也许使用biblatex
而不是bibtex
。所以我的问题是:有什么更干净、更好的方法可以做到这一点?
PS:这与这问题(我相信这个问题的答案也适用于此),但我根本无法重现这一点。
答案1
使用biblatex
biber 您无需经历使用不同.bib
文件的麻烦。按出版物类型(条目类型)过滤书目列表非常容易。
你可以这样做
\printbibliography[type=article,title={Articles in peer-review journals}]
\printbibliography[type=book,title={Books}]
\printbibliography[nottype=book,nottype=article,title={Other stuff I did}]
并会完成它。
请注意,您不仅可以通过 过滤参考书目type
,还可以从文档本身keywords
中.bib
动态使用文件和类别,以及使用 bibfilters 进行其他更复杂的过滤。
如果您愿意,您仍然可以使用此方法。只需.bib
使用 加载所有文件即可\addbibresource
。
也可以看看按参考文献类型划分参考书目。
但您也可以使用仅依赖于.bib
文件分离的方法。(如果您需要比仅按条目类型进行更细粒度的分离,并且已经.bib
为此任务设置了文件,则这种方法特别有用。)
为此,我们在加载label
每个文件时为其分配一个:.bib
\addbibresource
\addbibresource[label=books]{mybib-books.bib}
\addbibresource[label=articles]{mybib-articles.bib}
然后我们使用refsection
s 来分隔参考书目,每个引用部分都会获得.bib
通过其标签标识的文件之一。
\begin{refsection}[books]
\nocite{*}
\printbibliography[title={Books}]
\end{refsection}
\begin{refsection}[articles]
\nocite{*}
\printbibliography[title={Articles}]
\end{refsection}
将打印两个书目。第一个来自mybib-books.bib
(用books
标签标识),第二个来自mybib-articles.bib
(用标识articles
)。
\documentclass[british]{article}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear,backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname-books.bib}
@book{book1,
author = {Anne Uthor},
title = {My First Book},
date = {2010},
}
@book{book2,
author = {Anne Uthor},
title = {My Second Book},
date = {2010},
}
\end{filecontents*}
\begin{filecontents*}{\jobname-articles.bib}
@article{article1,
author = {Anne Uthor},
title = {My First Article},
journal = {Best Journal Ever},
date = {2012},
}
@book{article2,
author = {Anne Uthor},
title = {My Second Article},
journal = {Journal of Articles},
date = {2013},
}
\end{filecontents*}
\addbibresource[label=books]{\jobname-books.bib}
\addbibresource[label=articles]{\jobname-articles.bib}
\begin{document}
\begin{refsection}[books]
\nocite{*}
\printbibliography[title={Books}]
\end{refsection}
\begin{refsection}[articles]
\nocite{*}
\printbibliography[title={Articles}]
\end{refsection}
\end{document}