我正在尝试解决这个问题。第一个参考文献有一个奇怪的“页码”。不幸的是,它超出了页面的边缘。我宁愿在那之前发生分页。我能找到的所有提示都只与 URL 相关地讨论了这个问题。不幸的是,我没有任何解决方法。
这是我的 MWE。我添加了包showframe
来强调这个问题:
\documentclass{scrartcl}
\RequirePackage{filecontents}
\begin{filecontents}{ref.bib}
@article{Lehmann.2018,
author = {Lehmann, Diana and McFarland, Robert},
year = {2018},
pages = {232640981775296},
pagination = {page},
volume = {6},
number = {1},
doi = {10.1177/2326409817752960},
journal = {J. Inborn Errors Metab. Screening}
}
@article{Kunze.2004,
author = {Kunze, Brigitte and Jansen, Rolf and Höfle, Gerhard and Reichenbach, Hans},
year = {2004},
pages = {151--155},
pagination = {page},
volume = {57},
number = {2},
doi = {10.7164/antibiotics.57.151},
journal = {J. Antibiot.}
}
\end{filecontents}
\usepackage[backend=biber, style=chem-angew]{biblatex}
\addbibresource{ref.bib}
\usepackage{showframe}
\begin{document}
\cite{*}
\printbibliography[heading=bibnumbered]
\end{document}
附言:我已向 SAGE 出版社核实:
[...]
我如何引用你们《先天性代谢错误与筛查》杂志上的一篇论文?
这是关于https://doi.org/10.1177/2326409817752960并且没有页码范围。
我的参考书目工具会创建类似“D. Lehmann, R. McFarland,J. 先天性代谢缺陷筛查 2018,6,232640981775296。”坦白说,这看起来很糟糕。
[...]
我得到的答案是
感谢您联系 SAGE 出版社。
我已向 SAGE 出版社的编辑部进行了核实。先天性代谢缺陷与筛查杂志。SAGE
出版编辑回复说,您列出的引文是正确的。
答案1
尽管 SAGE 出版社坚持认为,我还是怀疑
D. Lehmann、R. McFarland、J. 先天性代谢缺陷筛查 2018,6,232640981775296。
在这里是一个特别有用的引用。
232640981775296
在 DOI 重定向到的文章登录页面上,神秘数字并未出现在任何地方(https://doi.org/10.1177/2326409817752960),但 DOI 本身除外。可下载的 PDF 版本的文章也是如此。它甚至不在volume
概述/目录页面上https://journals.sagepub.com/toc/iema/6因此,除非知道它是 DOI 的一部分(10.1177/2326409817752960),否则该编号对于识别文章几乎没有用处。
在我看来,将裸露的数字 232640981775296 包含在参考书目中是不明智的。提供完整的 DOI 会更有用。事实上,如果你点击引用文章页面上的按钮均不建议使用 APA、芝加哥、MLA 或“哈佛”风格的现成引用打印裸编号,而是全部包含 DOI。
仅当以机器可读格式(RIS,BibTeX等)下载引用数据时,神秘数字才会发挥作用:据推测开发人员认为页码是这些数据格式的要求,并试图在此处包含一些有用的东西。
评估他们对建议引用的反应会很有趣
D. Lehmann、R. McFarland、J. 先天性代谢缺陷筛查 2018,6,DOI: 10.1177/2326409817752960。
或者
D. Lehmann、R. McFarland、J. 先天性代谢缺陷筛查 2018,6.
与带有神秘号码的那个相比。后者可能比较棘手,因为没有提到标题。
page
因此,我的建议是,在这种特定情况下,根本不要包含字段,而只提供有用的 DOI。在这种情况下,Indeedbiblatex-chem
的chem-angew
样式将打印 DOI,而不像给出字段的情况pages
。(我不确定这是否 100% 符合应用化学风格,但无论如何,这是一种非常非常明智的行为。
\documentclass{scrartcl}
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Lehmann.2018,
author = {Lehmann, Diana and McFarland, Robert},
year = {2018},
volume = {6},
doi = {10.1177/2326409817752960},
journal = {J. Inborn Errors Metab. Screening},
}
@article{Kunze.2004,
author = {Kunze, Brigitte and Jansen, Rolf and Höfle, Gerhard and Reichenbach, Hans},
year = {2004},
pages = {151--155},
volume = {57},
number = {2},
doi = {10.7164/antibiotics.57.151},
journal = {J. Antibiot.}
}
\end{filecontents}
\usepackage[backend=biber, style=chem-angew]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{showframe}
\begin{document}
\nocite{*}
\printbibliography[heading=bibnumbered]
\end{document}
(pagination = {page},
是默认的,因此可以删除。)
但现在要回答提出的问题。
以下解决方案适用\seqsplit
于从seqsplit
包中断开长数字(参见将非常大的数字拆分成多行和换行不包含空格的长行) 如果@article
条目设置了条目选项splitpages
。
通常我会使用eid
像这样的“页码”字段,但chem-angew
不支持eid
,所以我回到了pages.
可以对(在我看来更可取的)字段进行类似的操作eid
。
\documentclass{scrartcl}
\usepackage[backend=biber, style=chem-angew]{biblatex}
\usepackage{seqsplit}
\newtoggle{bbx:splitpages}
\DeclareEntryOption[boolean]{splitpages}[true]{%
\settoggle{bbx:splitpages}{#1}}
\DeclareFieldFormat[article]{pages}{%
\iftoggle{bbx:splitpages}
{\seqsplit{#1}}
{\iftoggle{bbx:pageranges}
{#1}
{\mkfirstpage{#1}}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Lehmann.2018,
author = {Lehmann, Diana and McFarland, Robert},
year = {2018},
volume = {6},
pages = {232640981775296},
journal = {J. Inborn Errors Metab. Screening},
options = {splitpages}
}
@article{Kunze.2004,
author = {Kunze, Brigitte and Jansen, Rolf and Höfle, Gerhard and Reichenbach, Hans},
year = {2004},
pages = {151--155},
volume = {57},
number = {2},
doi = {10.7164/antibiotics.57.151},
journal = {J. Antibiot.}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\usepackage{showframe}
\begin{document}
\nocite{*}
\printbibliography[heading=bibnumbered]
\end{document}
答案2
我有个主意。有点儿老套,但我认为是合理的。打破这种字符串通常是 的工作url
,但是,我们没有 吗\nolinkurl
?除此之外,我还添加了一个execute
字段来处理那里的字体,还必须设置biburlnumpenalty
。
\documentclass{scrartcl}
\RequirePackage{filecontents}
\begin{filecontents}{ref.bib}
@article{Lehmann.2018,
author = {Lehmann, Diana and McFarland, Robert},
year = {2018},
pages = {\nolinkurl{232640981775296}},
pagination = {page},
volume = {6},
number = {1},
doi = {10.1177/2326409817752960},
journal = {J. Inborn Errors Metab. Screening},
execute = {\urlstyle{same}}
}
@article{Kunze.2004,
author = {Kunze, Brigitte and Jansen, Rolf and Höfle, Gerhard and Reichenbach, Hans},
year = {2004},
pages = {151--155},
pagination = {page},
volume = {57},
number = {2},
doi = {10.7164/antibiotics.57.151},
journal = {J. Antibiot.}
}
\end{filecontents}
\usepackage[backend=biber, style=chem-angew]{biblatex}
\addbibresource{ref.bib}
\setcounter{biburlnumpenalty}{9000}
\usepackage{showframe}
\begin{document}
\nocite{*}
\printbibliography[heading=bibnumbered]
\end{document}
我不会自己这样做,我宁愿省略这个数字,并在必要时提供正确的 DOI。但如果你想坚持编辑们所说的,这似乎是一个合理的方法。
答案3
据我访问该期刊后所见,一期中的所有文章都有独立的页码,并且都从第 1 页开始。
因此页码信息无关紧要(而 DOI 则重要)。导出的 BibTeX 代码中的条目错误地将 DOI 报告为页码,但这是完全错误的,可能是用于导出数据的软件中的错误。
如果我选择以 BibTeX 样式导出,
@article{doi:10.1177/2326409817752960,
author = {Diana Lehmann and Robert McFarland},
title ={Overview of Approaches to Mitochondrial Disease Therapy},
journal = {Journal of Inborn Errors of Metabolism and Screening},
volume = {6},
number = {},
pages = {2326409817752960},
year = {2018},
doi = {10.1177/2326409817752960},
URL = {
https://doi.org/10.1177/2326409817752960
},
eprint = {
https://doi.org/10.1177/2326409817752960
}
,
abstract = { Mitochondrial respiratory chain diseases [...] }
}
(完整报告,除了与当前问题无关的摘要字段)。相反,建议使用哈佛风格的引用方式是
Lehmann, D. 和 McFarland, R. (2018)《线粒体疾病治疗方法概述》,先天性代谢缺陷与筛查杂志.doi: 10.1177/2326409817752960。
并且没有页码信息。