使用 biblatex 并加载 chem-acs 样式时压缩多个连续参考文献

使用 biblatex 并加载 chem-acs 样式时压缩多个连续参考文献

我目前正在参考使用:

\documentclass[12pt,a4paper,bibliography=totoc]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,bibstyle=chem-acs,sorting=none,biblabel=brackets,sortcites=true]{biblatex}
\addbibresource{references.bib}
\begin{document}
Somebody told me.\cite{James2003,Allendorf2009,Rowsell2004}
\printbibliography
\end{document}

假设文件 references.bib 包含:

@article{James2003,
author = {James, S. L.},
journal = {Chem. Soc. Rev.},
number = {5},
pages = {276--288},
title = {{Metal-organic frameworks}},
volume = {32},
year = {2003}
}

@article{Rowsell2004,
author = {Rowsell, Jesse L.C. and Yaghi, Omar M.},
journal = {Microporous Mesoporous Mater.},
pages = {3--14},
title = {{Metal-organic frameworks: a new class of porous materials}},
volume = {73},
year = {2004}
}

@article{Allendorf2009,
author = {Allendorf, M. D. and Bauer, C. A. and Bhakta, R. K. and Houk, R. J. T.},
journal = {Chem. Soc. Rev.},
number = {5},
pages = {1330--1352},
title = {{Luminescent metal-organic frameworks.}},
volume = {38},
year = {2009}
}

运行 latex -> biber -> latex -> latex -> dvips -> ps2pdf (由于其他原因需要此过程) 得到结果:

Somebody told me.[1, 2, 3]

我怎样才能获得压缩的连续引用,例如

Somebody told me.[1-3]

cite 和 natbib 包提供压缩功能,但与 biblatex 不兼容。biblatex 具有 numeric-comp 样式,但我需要 chem-acs 的书目格式。biblatex 文档提到 sortcites=true 选项,该选项似乎确实对括号内的数字进行排序,但不提供压缩功能。

感谢您的帮助!

答案1

您正在使用bibstyle=chem-acs,这意味着引用样式与biblatex默认样式相同。您可能chem-acs也想要引用样式,使用 更容易做到style=chem-acs

\begin{filecontents}{\jobname.bib}
@article{James2003,
author = {James, S. L.},
journal = {Chem. Soc. Rev.},
number = {5},
pages = {276--288},
title = {{Metal-organic frameworks}},
volume = {32},
year = {2003}
}

@article{Rowsell2004,
author = {Rowsell, Jesse L.C. and Yaghi, Omar M.},
journal = {Microporous Mesoporous Mater.},
pages = {3--14},
title = {{Metal-organic frameworks: a new class of porous materials}},
volume = {73},
year = {2004}
}

@article{Allendorf2009,
author = {Allendorf, M. D. and Bauer, C. A. and Bhakta, R. K. and Houk, R. J. T.},
journal = {Chem. Soc. Rev.},
number = {5},
pages = {1330--1352},
title = {{Luminescent metal-organic frameworks.}},
volume = {38},
year = {2009}
}
\end{filecontents}
\documentclass[12pt,a4paper,bibliography=totoc]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=chem-acs,biblabel=brackets]{biblatex}
\bibliography{\jobname}
\begin{document}
Somebody told me.\cite{James2003,Allendorf2009,Rowsell2004}
\printbibliography
\end{document}

这会自动设置sorting=nonesortcites=true因为这是化学风格的标准。

相关内容