很棒的网站。我有一个关于 Biblatex 和 Biber 的问题。我当前的 .tex 文件结构在 TeXworks 中如下所示:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{inputenc}
\usepackage[backend=biber,style=authoryear]{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\printbibliography
\end{document}
当我运行 Biber 排版时,出现以下错误:
INFO - This is biber 0.9.3
INFO - Logfile is 'myfile.blg'
FATAL - Cannot find control file 'myfile.bcf'! - did you pass the "backend=biber" option to BibLaTeX?
我做错了什么?提前致谢!
_________________________________(Richard 于 2011 年 6 月 24 日编辑)
我应用了下面建议的更改,虽然它适用于单个引用,但当我包含多个引用时,我得到的 PDF 仅显示“一些文本 [A01]”。这是我现在得到的:
\listfiles
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Lees:2011zi,
author = "Lees, J.P. and others",
title = "{Cross Sections for the Reactions $e^+e^- \to K^+ K^-
\pi^+\pi^-,\, K^+ K^- \pi^0\pi^0$, and $K^+ K^- K^+ K^-$
Measured Using Initial-State Radiation}",
collaboration = "The BABAR Collaboration",
year = "2011",
note = "* Temporary entry *",
eprint = "1103.3001",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
@article{delAmoSanchez:2010fd,
author = "del Amo Sanchez, P. and others",
title = "{Analysis of the $D^+ \to K^- \pi^+ e^+ \nu_e$ decay
channel}",
collaboration = "The BABAR Collaboration",
journal = "Phys.Rev.",
volume = "D83",
pages = "072001",
doi = "10.1103/PhysRevD.83.072001",
year = "2011",
eprint = "1012.1810",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
@article{delAmoSanchez:2010yp,
author = "del Amo Sanchez, P. and others",
title = "{Dalitz plot analysis of $D_s^+ \to K^+ K^- \pi^+$}",
collaboration = "The BABAR Collaboration",
journal = "Phys.Rev.",
volume = "D83",
pages = "052001",
doi = "10.1103/PhysRevD.83.052001",
year = "2011",
eprint = "1011.4190",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
@article{delAmoSanchez:2010bx,
author = "del Amo Sanchez, P. and others",
title = "{Search for the Decay $B^{0} \to \gamma \gamma$}",
collaboration = "The BABAR Collaboration",
journal = "Phys.Rev.",
volume = "D83",
pages = "032006",
doi = "10.1103/PhysRevD.83.032006",
year = "2011",
eprint = "1010.2229",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
@article{delAmoSanchez:2010zd,
author = "del Amo Sanchez, P. and others",
title = "{Measurement of the $B^0 \to \pi^\ell \ell^+ \nu$ and
$B^+ \to \eta^{(')} \ell^+ \nu$ Branching Fractions, the
$B^0 \to \pi^- \ell^+ \nu$ and $B^+ \to \eta \ell^+ \nu$
Form-Factor Shapes, and Determination of $|V_{ub}|$}",
collaboration = "BABAR Collaboration",
journal = "Phys.Rev.",
volume = "D83",
pages = "052011",
doi = "10.1103/PhysRevD.83.052011",
year = "2011",
eprint = "1010.0987",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
@article{delAmoSanchez:2010bk,
author = "del Amo Sanchez, P. and others",
title = "{Search for the Rare Decay $B \to K \nu \bar{nu}$}",
collaboration = "BABAR Collaboration",
journal = "Phys.Rev.",
volume = "D82",
pages = "112002",
doi = "10.1103/PhysRevD.82.112002",
year = "2010",
eprint = "1009.1529",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
@article{delAmoSanchez:2010vq,
author = "del Amo Sanchez, P. and others",
title = "{Observation of new resonances decaying to $D\pi$ and
$D^*\pi$ in inclusive $e^+e^-$ collisions near
$\sqrt{s}=$10.58 GeV}",
collaboration = "The BABAR Collaboration",
journal = "Phys.Rev.",
volume = "D82",
pages = "111101",
doi = "10.1103/PhysRevD.82.111101",
year = "2010",
eprint = "1009.2076",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \autocite{A01}.
\printbibliography
\end{document}
______________________(理查德 2011 年 6 月 27 日编辑)
当我编译它时,我得到了几乎完美的结果,但是整个文档中似乎有几个“¿”。此外,[hep-ex] 总是在每次引用后显示(我猜它在最后打印了 primaryClass)。我能以某种方式禁用 [hep-ex] 的显示吗?
另外,编译时运行 XeTeX 而不是 latex 是否值得?我正在寻找获取 unicode 字符的最佳方法(保留下标/上标等)。如果我这样做,我应该添加行 \usepackage[utf8]{inputenc} 吗?
感谢你的帮助。
\listfiles
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\usepackage{filecontents}
\usepackage[utf8x]{inputenc}
\begin{filecontents}{\jobname.bib}
@Article{Aubert:2007sea,
author = "Aubert, Bernard and others",
collaboration = "BABAR",
title = "{Evidence for b ---> d gamma Transitions From a Sum of
Exclusive Final States in the Hadronic Final State Mass
Range 1.0-GeV/c**2 < M(X(d)) < 1.8-GeV/c**2}",
year = "2007",
eprint = "0708.1652",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
SLACcitation = "%%CITATION = 0708.1652;%%"
}
@Article{:2010ip,
author = "del Amo Sanchez, P. and others",
collaboration = "BABAR",
title = "{Dalitz-plot Analysis of B0 --> D0bar pi+ pi-}",
journal = "PoS",
volume = "ICHEP2010",
year = "2010",
pages = "250",
eprint = "1007.4464",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
SLACcitation = "%%CITATION = 1007.4464;%%"
}
@Article{delAmoSanchez:2010rq,
author = "del Amo Sanchez, P. and others",
collaboration = "BABAR",
title = "{Evidence for direct CP violation in the measurement of the
Cabibbo-Kobayashi-Maskawa angle gamma with B-+ --> D(*)
K(*)-+ decays}",
journal = "Phys. Rev. Lett.",
volume = "105",
year = "2010",
pages = "121801",
eprint = "1005.1096",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
doi = "10.1103/PhysRevLett.105.121801",
SLACcitation = "%%CITATION = 1005.1096;%%"
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
答案1
这是一个相当简单但可编译的测试示例。此示例(保存为biblatextest.tex
)是否可以编译且无错误?如果不是,日志文件(biblatextest.txt
),尤其是部分*File List
,会显示什么?
编辑:示例的正确编译顺序(如果不使用类似latexmk) 是
-pdflatex biblatextest
-biber biblatextest
-pdflatex biblatextest
注意使用biber
来替代bibtex
!
\listfiles
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \autocite{A01}.
\printbibliography
\end{document}
(filecontents 环境仅用于将一些外部文件直接包含到示例中,以便进行编译。对于解决方案来说,它不是必需的。)
编辑 2:针对更新后的问题:在代码片段中\autocite{A01}
,A01
是我的文件中第一个(也是唯一一个)bibentry 的引用键.bib
(它以@misc{A01,
misc
BibTeX 类型开头)。当您引用文件中未包含的条目时,您会期待什么.bib
?
编辑 3:这是一个新问题,不是吗?;-)[hep-ex]
要从每个参考书目条目中删除,请将以下内容添加到您的序言中:
\AtEveryBibitem{\clearfield{eprintclass}}
是的,XeLaTeX 可以代替 pdfLaTeX,值得一试。详情请参阅经常加载的包:pdfLaTeX 和 XeLaTeX 之间的区别。
答案2
我在使用 TeXShop 排版 tex 文件时看到了同样的消息。
找不到控制文件 something.bcf 您是否将“backend=biber”选项传递给 BibLaTeX?
当 tex 文件或其他配置文件指定一个 BibTeX 引擎而 TeXShop 指定另一个引擎时,会出现该消息。
例如,如果 TeXShop 首选项中的引擎设置指定“biber”而不是“bibtex”,而 tex 文件包含...
\usepackage[round]{natbib}
相反,另一个 tex 文件可能使用类文件来管理样式(.cls),像这样指定 biber......
\RequirePackage[backend=biber]{biblatex}
为了从 TexShop 内部排版,您需要更改您的首选项以实现排版环境和文件中的参数之间的一致性,例如:比伯而不是 bibtex,或者比博特而不是 biber。
使用所需的 BibTex 引擎从命令行进行编译时不会出现该问题。