我花了几个小时试图让 TexWorks 与 BibTex 或 biber 中的一个或两个一起工作,这真是令人沮丧。
我尝试运行最小示例
\documentclass[12pt]{article}
\usepackage{natbib}
\begin{document}
\title{BibTeX in action}
\author{Martin J. Osborne}
\date{2008-1-13}
\maketitle
\section{Introduction}
This document illustrates the use of BibTeX\@. You may want to refer to \cite{ahu61} or \cite{ab94} or \cite{m85}. Or you may want to cite a specific page in a reference, like this: see \citet[p.~199]{m85}. Or perhaps you want to cite more than one paper by Maskin: \cite{m85, m99}. Or you want to make a parenthetical reference to one or more articles, in which case the \verb+\citealt+ in the \texttt{te.bst} bibliography style omits the parentheses around the year (\citealt{ahu61}).
\bibliographystyle{plain}
\bibliography{bibl}
\end{document}
带有 .bib 文件
@article{ahu61,
author={Arrow, Kenneth J. and Leonid Hurwicz and Hirofumi Uzawa},
title={Constraint qualifications in maximization problems},
journal={Naval Research Logistics Quarterly},
volume={8},
year = 1961,
pages = {175-191}
}
@book{ab94,
author = {Charalambos D. Aliprantis and Kim C. Border},
year = {1994},
title = {Infinite Dimensional Analysis},
publisher = {Springer},
address = {Berlin}
}
@incollection{m85,
author={Maskin, Eric S.},
year={1985},
title={The theory of implementation in {N}ash equilibrium: a survey},
booktitle={Social Goals and Social Organization},
editor={Leonid Hurwicz and David Schmeidler and Hugo Sonnenschein},
pages={173-204},
publisher={Cambridge University Press},
addess={Cambridge}
}
调用bibl.bib
并位于同一目录中。运行 pdfLaTeX 会给我一个完好无损的文件,但缺少引文,但运行 BibTeX 时它会响应I couldn't open database file bibl.bib
。
我认为这可能是 TeXWorks 的某种更大的配置问题,因为在故障排除过程中,我早些时候尝试过使用 biber 和 biblatex 进行类似操作。当我的 .bib 文件被命名为 时,它们同样无法找到它sources.bib
。然而,当我将其命名为别的(我认为references.bib
),biber 能够找到完全不同的来源列表,它似乎是文档中示例的一部分。
这让我觉得 biber/BibTeX/TexWorks 在查找文件时不知道先在当前目录中查找,然后再尝试其他地方。不幸的是,我不知道如何修复这个问题,甚至不知道它是怎么发生的。
我正在运行 Windows 10。我最近也卸载了 TexLive 并切换到 MikTex。
编辑:我的问题是 Windows 将我的文件重命名为 .txt 扩展名,然后将其隐藏起来。由于扩展名隐藏是默认行为,我认为我应该将这个问题留作另一件事来检查这个问题。
答案1
Windows 10 默认开启了文件名中的扩展名隐藏功能,因此我的 .bib 文件的扩展名是 .bib.bib 和 .bib.txt,这导致 biber 无法找到它们。
我已解决了该问题(并关闭了扩展隐藏功能)。