编辑:
根据 moewe 的建议,MWE 现在确实很小了(我认为)。我.bib
通过删除缩写来消除对多个文件的需要,并使主.bib
文件更小(正如下面所示)。
这是日志(file.blg
):
[0] Config.pm:318> INFO - This is Biber 1.8
[0] Config.pm:321> INFO - Logfile is 'file.blg'
[60] biber-darwin:275> INFO - === Sat May 10, 2014, 14:45:31
[61] Biber.pm:333> INFO - Reading 'file.bcf'
[128] Biber.pm:630> INFO - Found 2 citekeys in bib section 0
[156] Biber.pm:3053> INFO - Processing section 0
[181] Biber.pm:3190> INFO - Looking for bibtex format file 'https://dl.dropboxusercontent.com/u/47261882/bibliography.bib' for section 0
[182] bibtex.pm:134> INFO - Data source 'https://dl.dropboxusercontent.com/u/47261882/bibliography.bib' is a remote BibTeX data source - fetching ...
[925] bibtex.pm:812> INFO - Found BibTeX data source '/var/folders/lw/xmh_g5vx4j9ctfxysb189qyr0000gn/T/ZegiE_xxWe/biber_remote_data_source_vqdu_.bib'
[930] bibtex.pm:134> INFO - Data source 'https://dl.dropboxusercontent.com/u/47261882/bibliography.bib' is a remote BibTeX data source - fetching ...
[1508] bibtex.pm:812> INFO - Found BibTeX data source '/var/folders/lw/xmh_g5vx4j9ctfxysb189qyr0000gn/T/ZegiE_xxWe/biber_remote_data_source_17lZd.bib'
[1509] Utils.pm:169> WARN - Duplicate entry key: 'a:watson:2014:01' in file '/var/folders/lw/xmh_g5vx4j9ctfxysb189qyr0000gn/T/ZegiE_xxWe/biber_remote_data_source_17lZd.bib', skipping ...
[1509] Utils.pm:169> WARN - Duplicate entry key: 'ic:bedau:2009:01' in file '/var/folders/lw/xmh_g5vx4j9ctfxysb189qyr0000gn/T/ZegiE_xxWe/biber_remote_data_source_17lZd.bib', skipping ...
[1509] Utils.pm:169> WARN - Duplicate entry key: 'c:barberousse:2009:01' in file '/var/folders/lw/xmh_g5vx4j9ctfxysb189qyr0000gn/T/ZegiE_xxWe/biber_remote_data_source_17lZd.bib', skipping ...
[1510] Utils.pm:169> WARN - I didn't find a database entry for crossref 'c:barberousse:2009:01' in entry 'ic:bedau:2009:01' - ignoring (section 0)
[1535] Biber.pm:2939> INFO - Overriding locale 'en_GB.UTF-8' default tailoring 'variable = shifted' with 'variable = non-ignorable'
[1535] Biber.pm:2945> INFO - Sorting 'entry' list 'nty' keys
[1535] Biber.pm:2949> INFO - No sort tailoring available for locale 'en_GB.UTF-8'
[1539] bbl.pm:482> INFO - Writing 'file.bbl' with encoding 'ascii'
[1540] bbl.pm:555> INFO - Output to file.bbl
[1540] Biber.pm:105> INFO - WARNINGS: 4
看起来文件被提取了两次(因此出现重复键的警告)。但我不知道这与问题有何关系。
当使用biblatex
(和biber
)功能从远程位置获取.bib
文件时,交叉引用无法解析。
考虑以下书目文件(bibliography.bib
):
@Article{a:watson:2014:01,
title = {The Evolution of Phenotypic Correlations and ``Developmental Memory''},
author = {Watson, Richard A. and Wagner, G{\"u}nter P. and Pavlicev, Mihaela and Weinreich, Daniel M. and Mills, Rob},
journal = {Evolution},
year = {2014},
month = apr,
volume = {68},
number = {4},
pages = {1124--1138},
doi = {10.1111/evo.12337},
url = {http://dx.doi.org/10.1111/evo.12337},
}
@InCollection{ic:bedau:2009:01,
title = {The Evolution of Complexity},
author = {Bedau, Mark A.},
pages = {111--130},
doi = {10.1007/978-1-4020-9636-5_8},
url = {http://dx.doi.org/10.1007/978-1-4020-9636-5_8},
crossref = {c:barberousse:2009:01},
}
@Collection{c:barberousse:2009:01,
editor = {Barberousse, Anouk and Morange, Michel and Pradeu, Thomas},
title = {Mapping the Future of Biology},
booktitle = {Mapping the Future of Biology},
subtitle = {Evolving Concepts and Theories},
publisher = {Springer Netherlands},
year = {2009},
doi = {10.1007/978-1-4020-9636-5},
url = {http://dx.doi.org/10.1007/978-1-4020-9636-5},
series = {Boston Studies in the Philosophy of Science},
volume = {266},
}
如果我ic:bedau:2009:01
在使用 时引用\addbibresource{bibliography.bib}
,则对 的交叉引用c:barberousse:2009:01
将成功解析。\addbibresource[location=remote]{<url>.bib}
但是,如果我在使用 时引用它,则交叉引用不会解析,除非我碰巧也在c:barberousse:2009:01
文本中的其他地方引用。
我正在使用 的最新版本MacTeX
并用 进行编译pdflatex -> biber -> pdflatex
。
有什么想法吗?有人至少可以确认他们遇到了同样的问题吗?MWE 如下。
梅威瑟:
\documentclass{article}
\usepackage[backend=biber]{biblatex}
% If I fetch the file from a remote location, cross-refs are not resolved.
\addbibresource[location=remote]{https://dl.dropboxusercontent.com/u/47261882/bibliography.bib}
% If the file is stored locally, everything works okay.
% \addbibresource{bibliography.bib}
\begin{document}
% Does not resolve cross-reference.
\cite{a:watson:2014:01,ic:bedau:2009:01}.
% Resolves cross-reference because it is also cited explicitly.
% \cite{a:watson:2014:01,ic:bedau:2009:01,c:barberousse:2009:01}.
\printbibliography
\end{document}
答案1
这是一个错误,应该在 SourceForge 上的 DEV 文件夹中提供的 biber 1.9 中得到纠正。您需要使用 biblatex 2.9 DEV 版本和 biber 1.9(也在 SourceForge 上)。它不必要地多次获取远程源。