我在 Springer 文档类 SVJour3 中使用 BibLaTeX 时遇到困难。请按照以下视频操作这Overleaf 页面上,我编写了下面的 .tex 文件。但是,编译它时会返回警告,提示“foo”未定义,并且输出中确实无法识别引用。我咨询了 SVJour3用户指南没有成功。(似乎有一个 natbib 类选项,但我没有调用它。)我是否遗漏了什么,或者 BibLaTeX 与 SVJour3 不兼容?
\RequirePackage{fix-cm}
\documentclass{svjour3}
\usepackage[style=authoryear]{biblatex}
\addbibresource{examplebib.bib}
\begin{filecontents}{examplebib.bib}
@book{foo,
author = {Frank Foo},
address = {London},
title = {A guide to all practical matters},
publisher = {Wiley},
year = {2020}
}
\end{filecontents}
\begin{document}
Previous authors have reached a similar conclusion \parencite{foo}.
\printbibliography
\end{document}
答案1
我假设你正在使用的版本svjour3
可以从http://static.springer.com/sgw/documents/468198/application/zip/LaTeX_DL_468198_240419.zip通过https://www.springer.com/journal/440/submission-guidelines。根据.zip
2019年4月最后一次更改的历史文件。
此类本身声称是v3.2
2007/05/08 版本的。
有了这些文件,如果您运行 pdfLaTeX、Biber、pdfLaTeX、pdfLaTeX,问题中的 MWE 就可以完美编译。重要的是您使用 Biber 而不是 BibTeX 编译文档。请参阅Biblatex 与 Biber:配置我的编辑器以避免未定义的引用帮助您设置编辑器来运行 Biber,以及使用问号或粗体引用关键字代替引用编号对 BibTeX 和 Biber 的功能进行了出色的解释。
因此从技术角度来看,该类svjour3
与 并不矛盾biblatex
。然而,这不仅仅是纯粹的技术方面。通常,如果您打算将您的作品提交给出版商,则只会使用出版商/期刊类。在这种情况下,不仅要使用与类中的代码在技术上兼容的代码,还需要确保您的文档与出版商的工作流程兼容。如中所述Biblatex:向期刊投稿,biblatex
需要与出版商非常不同的工作流程,因此,除非出版商明确要求您使用biblatex
,否则最好假设他们无法处理biblatex
提交的内容。
在这个特殊情况下,该.zip
文件包含几个 BibTeX 样式,并template.tex
包含以下提示
% BibTeX users please use one of
%\bibliographystyle{spbasic} % basic style, author-year citations
%\bibliographystyle{spmpsci} % mathematics and physical sciences
%\bibliographystyle{spphys} % APS-like style for physics
%\bibliography{} % name your BibTeX data base
% Non-BibTeX users please use
\begin{thebibliography}{}
%
% and use \bibitem to create references. Consult the Instructions
% for authors for reference list style.
%
\bibitem{RefJ}
% Format for Journal Reference
Author, Article title, Journal, Volume, page numbers (year)
% Format for books
\bibitem{RefB}
Author, Book title, page numbers. Publisher, place (year)
% etc
\end{thebibliography}
readme.txt
此外,
Bibliographic references in author-year form can be made using the
"natbib" package of Patrick W. Daly. You can find it on CTAN, e.g. at
ftp://ftp.dante.de/tex-archive/macros/latex/contrib/natbib/
这让我认为以下内容更接近 Springer 的预期
\RequirePackage{fix-cm}
\documentclass{svjour3}
\usepackage{natbib}
\begin{filecontents}{\jobname.bib}
@book{foo,
author = {Frank Foo},
address = {London},
title = {A guide to all practical matters},
publisher = {Wiley},
year = {2020},
}
\end{filecontents}
\begin{document}
Previous authors have reached a similar conclusion \citep{foo}.
\bibliographystyle{spbasic}
\bibliography{\jobname}
\end{document}
应该用 pdfLaTeX、BibTeX、pdfLaTeX、pdfLaTeX 进行编译(因此用 BibTeX 而不是 Biber)。