我从中引用了这个例子BibTex-显示 ISBN 号码?:
\documentclass{article}
\usepackage[american]{babel} %% added in a recent edit
\usepackage[backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{QueueSystems,
author = "Leonard Kleinrock",
maintitle = "Queueing Systems",
volume = "1",
title = "Theory",
publisher = "Wiley-Interscience",
year = "1975",
ISBN = "0471491101",
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
只要我不指定 apa 格式,它就可以正常工作。如果我添加 after style=apa
,backend=biber
它将停止显示 ISBN 条目。我应该怎么做才能让此示例显示 ISBN ?我测试了添加,\DeclareLanguageMapping{american}{american-apa}
但无济于事。我安装的 biblatex 非常新(版本 3.3),而 biber 是版本 2.4。
答案1
据我所知,biblatex-apa
只是没有打印 ISBN(从那里我可以推断 APA 格式不需要包含 ISBN - 事实上,PLK 在他的评论中证实了这一点)。如果您必须有 ISBN,您可以修改doi+eprint+url
\renewbibmacro*{doi+eprint+url}{%
\printfield{isbn}%
\newunit\newblock
\iftoggle{bbx:doi}
{\printfield{doi}%
\iffieldundef{doi}{}{\renewcommand*{\finentrypunct}{\relax}}}
{}%
\newunit\newblock
\iftoggle{bbx:eprint}
{\usebibmacro{eprint}%
\iffieldundef{eprint}{}{\renewcommand*{\finentrypunct}{\relax}}}
{}%
\newunit\newblock
\iftoggle{bbx:url}
{\usebibmacro{url+urldate}%
\iffieldundef{url}{}{\renewcommand*{\finentrypunct}{\relax}}}
{}}
由于这一变化,您可能会失去 APA 合规性,因此请确保您确实需要显示 ISBN。
答案2
我没有收到错误。我使用的是最新版 Debian。我将您的代码复制并粘贴到 Texstudio 中,然后查看了 pdf,其中显示了带有 ISBN 号的引文。
我添加了 style=apa 以便:
\usepackage[backend=biber, style=apa]{biblatex}
仍然没有错误。
答案3
值应放在括号内。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{QS:1,
author = {Leonard Kleinrock},
maintitle = {Queueing Systems},
volume = {1},
title = {Theory},
publisher = {Wiley-Interscience},
year = {1975},
isbn = {0471491101},
}
\end{filecontents}
\usepackage[backend=bibtex,sorting=none]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}