我引用论文的策略是手动在 .tex 文件正文中输入所有信息。例如:
\begin{thebibliography}{10}
\bibitem{mg} {\sc M. Gockenbach},
{\em Understanding and Implementing the Finite Element Method}, SIAM,
Philadelphia (2006)
...
\end{thebibliography}
当我在 Google Scholar 等网站上搜索文章时,我注意到我可以选择导入 BibTeX 格式,但它看起来与我在文章正文中输入的内容完全不同。例如:
@article{biot1941general,
title={General theory of three-dimensional consolidation},
author={Biot, M.A.},
journal={Journal of applied physics},
volume={12},
number={2},
pages={155--164},
year={1941},
publisher={AIP}
}
因此,我怀疑有一种更快的方法可以利用此代码。我可以简单地将其放入参考书目部分的 latex 文件中吗?我可以将其放入单独的文件中,然后将该文件中的参考书目加载到我的 .tex 文件中吗?我该怎么做?
答案1
使用 BibTeX命名的文件example.tex
:
\documentclass{article}
\begin{filecontents}{example.bib}
@article{biot1941general,
title={General theory of three-dimensional consolidation},
author={Biot, M.A.},
journal={Journal of applied physics},
volume={12},
number={2},
pages={155--164},
year={1941},
publisher={AIP}
}
\end{filecontents}
\begin{document}
There are a theory of 3D consolidation
\cite{biot1941general} in our references.
\bibliography{example.bib}
\bibliographystyle{plain}
\end{document}
参考书目必须作为单独的文件example.bib
或包含在文档序言中,如本例所示。该文件 example.tex
通常必须按以下顺序编译:
pdflatex example.tex
bibtex example
pdflatex example.tex
pdflatex example.tex
结果 ( example.pdf
) 必须是:
这种方法比\bibitem
手动插入 s 有一个很大的优势,那就是您可以更改所有参考文献的样式,只需将其更改plain
为另一种样式即可vancouver
。例如,作者不是“MA Biot”而是“Biot MA。”,期刊不是草书,等等。还有更多选项(abbrv
、acm
等)。
另一大优点是您可以使用程序轻松管理您的参考资料JabRef
。
只有当您能够轻松管理 .bib 文件并使用 BibTeX 编译 LaTeX 时,才有时间了解natbib
和biblatex
包。
答案2
您不能将 BibTeX 格式的代码直接放入 LaTeX 文件中。但是您可以将其放入带有扩展名的 BibTeX 文件中,.bib
并以某种方式将其包含在 LaTeX 文档中。实际上,您可以将数百个这样的“@article”(还有其他类型“@book”、“@techreport”,以及“@inbook”、“@inproceedings”)放入一个 BibTeX 文件中。以下文件refs.bib
是一个例子:
@ARTICLE{Smith1980,
author = {Peter Smith},
title = {A new analytic approach},
journal = {Artificial Intelligence},
volume = {14},
issue = {2},
pages = {329--334},
year = {1980}
}
@BOOK{AlwaysCitedRef1999,
author = {M. Miller},
title = {The Big Reference},
publisher = {Prentice-Hall, Inc.},
year = {1999}
}
使用 biblatex(bibtex 的替代品),你的文档myarticle.tex
将看起来像
\documentclass{article}
\usepackage[style=numeric]{biblatex} %default style
%\usepackage[style=draft]{biblatex} %maybe useful? difficult in bibtex!
\addbibresource{refs.bib} %\bibliography{refs} is deprecated
\begin{document}
Hello world! (\cite{Smith1980})
\nocite{AlwaysCitedRef1999}
\printbibliography
\end{document}
您需要通过一系列命令来编译该文档。
pdflatex myarticle.tex
将生成包含您'd(或'd)myarticle.aux
的所有参考文献的 bibtex-keys ,例如 Smith1960 和 AlwaysCitedRef1999。\cite
\nocite
bibtex myarticle.aux
将处理您的refs.bib
并整理出所有需要的参考资料myarticle.bbl
。pdflatex myarticle.tex
将参考书目myarticle.bbl
纳入您的 pdf 输出中。
如果您是第一次编译文档,您可能需要重复步骤 2 和 3,直到所有页码都正确(实际上,LaTeX 会告诉您这样做)。这是因为将新文本(参考书目和引文)“插入”到 pdf 输出中会改变页码。
笔记:只有标记为\cite
“d”和\nocite
“d”的论文才会出现在您的 PDF 文件的参考书目中,而不是您的整个收藏!
我使用 JabRef(有时使用 Zotero)的典型工作流程
(1)下载/命名/保存文件。 在网上搜索并找到一篇对我有用的论文后,我下载了纸 并且这书目资料。对于后者,正如您所发现的,有些网页提供了 bibtex 文件供下载。其他网页则没有。一般来说,书目数据仍然可以在网页上找到。因此,我使用了 Firefox 的 Addon Zotero 来从网页中提取此信息并将其保存到 bibtex 文件中。
我为这篇论文创建了一个 bibtex-key
BIBTEXKEY
。这个 key 在你现在和将来的所有论文中应该是唯一的!所以要明智选择!;-) 这取决于你的主题。例如,一篇典型的论文有多少位作者?2 位还是 10 位?以下是 bibtex-key 模式的两个示例,<AuthorsEtAl><YEAR>-<InitTitle>
其中<AuthorsEtAl>
代表前 2 位或 3 位作者姓名,后缀“etal”表示更多作者,以及<InitTitle>
标题的前 3 位首字母;<YEAR>-<AuthorsShort>-<InitTitle>
其中<AuthorsShort>
代表前 3 个字母每个作者姓名;
我将 PDF 论文
BIBTEXKEY.pdf
和书目数据保存BIBTEXKEY.bib
为尚未阅读的论文的文件夹中。(也可以扩展文件名,例如附加论文标题BIBTEXKEY_ShortendPaperTitleHere.pdf
。)
(2)集成到 BibTeX 文件。
我有一文件夹包含我读过的所有论文以及一个 BibTeX 文件refs.bib
作为它们的数据库。BibTeX 文件由程序JabRef
。为了整合论文BIBTEXKEY.pdf
,我将BIBTEXKEY.pdf
文件移至我已读论文的文件夹并通过 JabRef 导入BIBTEXKEY.bib
(refs.bib
之后可以删除 BIBTEXKEY.bib)。
(3)撰写自己的文章。
如果“doc”是包含我自己文章的所有 (LaTeX) 文件的文件夹,那么我会在refs.bib
其中创建一个软链接。(您也可以复制refs.bib
到“doc”,但缺点是副本中缺少原始文件的更新。)无论如何,在完成文章后,我会确保refs.bib
在文件夹“doc”中有一个永久副本以供保存。LaTeX 文档的编译工作如上所示。(实际上,我正在使用莱克斯作为编辑器生成 LaTeX。)
总之,我有一个包含已读论文的文件夹和一个 BibTeX 文件,该文件由 JabRef 管理并用于我的所有工作。论文的识别由 BibTeX 密钥处理。