
編輯:
根據 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 上)。它多次不必要地獲取遠端來源。