我使用 Papers 来管理我的所有参考文献并生成 bibtex.bib 文件。在某些文章中,我想包含 bibtex.bib 文件中没有的参考文献。这通常用于“个人信件”之类的内容。我不想在我的软件中添加“假”项目来做到这一点。
是否有可能添加我的 tex 源中的一个项目可以在文档中引用并出现在参考部分?
答案1
BibTeX 和文件的全部意义.bib
在于您不必在文档中临时编写任何内容。所有可引用的来源都已在文件中给出.bib
,并且可以在文档中根据需要调用和格式化。
如果您不想.bib
用某些条目“污染”主文件,则可以使用第二个.bib
文件来存放这些一次性引用。BibTeX 可以轻松处理多个.bib
文件。可以使用该文件.bib
创建第二个文件(请参阅下面的 MWE,其中“主”文件就是通过这种方式创建的)。.tex
filecontents
.bib
当然,输出结果仍然取决于参考书目样式格式化您的条目的方式。因此,如果您想要“自由格式”的引用,您可能需要对 BibTeX 进行一些小技巧。
包裹notes2bib
将这个想法更进一步,并使其自动化。它允许您在文档中即时创建一次性参考书目条目。在内部,该包只是将条目写入.bib
单独的.bib
文件并告诉 BibTeX 也加载它。
该软件包有许多选项可供您自定义输出。根据样式和所需的输出,可能需要进行调整。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[numbers]{natbib}
\usepackage{notes2bib}
% for unsrtnat
\bibnotesetup{
note-name = ,
use-sort-key = false
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
year = {1980},
}
\end{filecontents}
\begin{document}
\cite{appleby}
\bibnote{Personal communication with Sir Humphrey Appleby}
\bibliographystyle{unsrtnat}
\bibliography{\jobname}
\end{document}
如果不怕手工活的话,可以修改.bbl
BibTeX生成的文件来排版参考书目。
在一个简单的文档中它可能看起来像这样
\begin{thebibliography}{1}
\bibitem[Appleby(1980)]{appleby}
Humphrey Appleby.
\newblock \emph{On the Importance of the Civil Service}.
\newblock 1980.
\end{thebibliography}
环境thebibliography
的工作方式或多或少类似于enumerate
或而不是itemize
。有一个强制参数:您可以在中使用的输入键,以及用于作者年份引文命令的引文标签或元数据的可选参数。可选参数的使用和格式取决于引文管理包。\bibitem
\item
\bibitem
\cite
您可以在此处轻松添加您自己的条目。
\begin{thebibliography}{1}
\bibitem[Appleby(1980)]{appleby}
Humphrey Appleby.
\newblock \emph{On the Importance of the Civil Service}.
\newblock 1980.
\bibitem[Appleby(2018)]{app:perscomm}
Personal communication with Sir Humphrey Appleby.
\newblock 2018.
\end{thebibliography}
这种方法的缺点是.bbl
文件本质上是临时的:它应该在每次运行 BibTeX 时重写。
完成后,你可以\bibliography{\jobname}
用文件内容替换该行.bbl
。这样可以修复输出,并且无需运行 BibTeX。
如果您使用biblatex
,则无法修改文件.bbl
,因为文件的格式不同:它不包含格式化的参考书目,它只包含 LaTeX 可读格式的原始数据。
您仍然可以使用第二个.bib
条目或notes2bib
。您可能还想看看如何设置 BibLaTeX 以用于“自由格式”引用。