我在尝试调整参考书目结构时遇到了麻烦。理想情况下,我希望按以下顺序排列它们:作者、文章标题、期刊、年份、卷、期号、页码和 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).
author
1999;
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}