参考书目按作者、文章标题、期刊、年份、卷、期、页码和 DOI 排序

参考书目按作者、文章标题、期刊、年份、卷、期、页码和 DOI 排序

我在尝试调整参考书目结构时遇到了麻烦。理想情况下,我希望按以下顺序排列它们:作者、文章标题、期刊、年份、卷、期号、页码和 DOI。

我目前拥有的:

\documentclass{article}
\usepackage[authoryear]{natbib}
\setcitestyle{aysep={}} 
\bibliographystyle{apalike}

\begin{document}
\citep{<Bibtexkey>}
\bibliography{<myRef>}
\end{document}

我如何调整上面的指令集以获得下面的输出?

Cras JJ, Rowe-Taitt CA, Nivens DA, Ligler FS. 硅烷化前玻璃化学清洗方法比较. 生物传感器与生物电子学. 1999;14(9):683-88.https://doi.org/10.1016/S0956-5663(99)00043-3

答案1

(评论太长,因此作为答案发布)

我可以观察到 产生的输出和您期望的输出之间至少有八个 [8!!] 个差异apalike。并且此列表仅包含 类型的条目@article;其他条目类型可能会在apalike的输出和您期望的输出之间产生进一步的差异。

在此处输入图片描述

在此处输入图片描述

  • apalike将名称呈现为Cras, J. J.,而您想要的是Cras JJ
  • 如果作者多于 1 位,apalike则插入and在最后一位作者之前;您不需要这个粒子。
  • 年份字段的位置和形式(这是您在查询中提到的唯一区别):在块之后apalike产生,而您希望放置在字段之后。(1999).author1999;journal
  • apalike将字段的内容变为斜体journal——这是您不想要的。
  • apalike在字段后面放置一个逗号journal,而您需要一个句号(又称句号)
  • 如果pages字段由给出pages = "683--688"apalike则将其呈现为683-688,而您想要的683-88
  • apalike忽略该doi字段;您希望将其包括在内。
  • apalike在排版的书目条目的最末尾放置一个句号(又称句号)——这是您不想要的。

破解apalike.bst书目样式文件以获取所需的输出将非常繁琐且容易出错。

除了黑客攻击,还有什么其他方法apalike?我建议你先熟悉一下makebst实用程序,它是定制围兜包。打开命令窗口并输入pdflatex makebst以启动菜单驱动的实用程序。您将浏览一系列多项选择题,每个问题包含一个默认选项和几个备选选项。最后,您将得到一个定制的 bst 文件,其中包含几乎所有的格式选择;实用程序将提供的唯一格式选择不是产生是缩写pages范围,即写683-88而不是683-688

(这就是我想出上面显示的第二张屏幕截图的方式。在评论中发布您的电子邮件地址,我很乐意将文件发送给您cras.bst。)

\documentclass{article}
%% I obtained the following bib information from Elsevier's website
\begin{filecontents}[overwrite]{mybib.bib}
@article{crnl:1999,
author  = "J. J. Cras and C. A. Rowe-Taitt and D. A. Nivens and F. S. Ligler",
title   = "Comparison of chemical cleaning methods of glass in preparation for silanization",
journal = "Biosensors and Bioelectronics",
year    = "1999",
volume  = "14",
number  = "8--9",
pages   = "683--688",
doi     = "https://doi.org/10.1016/S0956-5663(99)00043-3",
}
\end{filecontents}

\usepackage[authoryear]{natbib}
\setcitestyle{aysep={}} 
\setlength{\bibhang}{0pt}
\bibliographystyle{cras} % 'cras.bst' produced by the makebst utility
\usepackage{xurl}
\usepackage[colorlinks,allcolors=blue]{hyperref}

\begin{document}
\citep{crnl:1999}
\bibliography{mybib}
\end{document}

相关内容