我有一份文档的以下奇怪版本。
@Book{howell15:_ode,
language = {english},
author = {Howell, Kenneth B.},
title = {Ordinary Differential Equations:
An Introduction to the Fundamentals},
publisher = {Hayden-McNeil Publising},
year = 2015,
edition = {2014--2015},
where = {http://howellkb.uah.edu/DEtext}
}
使用babelbib
和cite
包以及和babplain-fl
,我得到如下输出(从 PDF 转录):
[404] 肯尼斯·B·豪威尔,常微分方程:基础知识介绍. Hayden-McNeil Publishing,--20152014-2015 版,2015 年。
请注意奇怪的版本格式,这不是 .bib 文件的错误。它应该类似于“2014-2015 版”。
关于如何获得合理的输出,您有什么建议吗?正如参考编号所示,这是一组广泛的条目,因此,一般来说(除了这种情况)不可能对参考书目样式进行任何调整来“修复”版本标签的处理。将{}
字符串放在周围也无济于事。
我正在使用 texlive,因为它附带 Fedora 22(两者的当前版本)。
MWE 如下:
\documentclass[czech, english, german, french, latin, spanish, romanian]
{article}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{babelbib, cite}
\begin{document}
\selectlanguage{spanish}
\thispagestyle{empty}
\bibliographystyle{babplain-fl}
\nocite{*}
\bibliography{mwe}
\end{document}
对应的mwe.bib文件如下:
@Book{howell15:_ode,
language = {english},
author = {Howell, Kenneth B.},
title = {Ordinary Differential Equations:
An Introduction to the Fundamentals},
publisher = {Hayden-McNeil Publising},
year = 2015,
edition = {{2014--2015}},
where = {http://howellkb.uah.edu/DEtext}
}
答案1
感谢评论。问题(正如@Mico 指出的)出在捷克语上。以下 kludge 伪造了版本:
@Preamble{"\newcommand{\noopsort}[1]{}"}
@Book{howell15:_ode,
language = {english},
author = {Howell, Kenneth B.},
title = {Ordinary Differential Equations:
An Introduction to the Fundamentals},
publisher = {Hayden-McNeil Publising},
year = {\noopsort{2015}2014--2015 edition, 2015},
where = {http://howellkb.uah.edu/DEtext}
}
如果某一天需要的话, \noopsort{} 用于获取正确的日期顺序。