假设我想elsart-num
默认使用,但有时我想使用作者年份引用样式来获取某些标签的作者年份引用。可以实现吗?
我的MWE
% !BIB TS-program = bibtex
\begin{filecontents}{sample.bib}
@article{aldaoudeyeh2021new,
title={A new method to fit logistic functions with wind turbines power curves using manufacturer datasheets},
author={Aldaoudeyeh, {Al-Motasem} Ihssan and Alzaareer, Khaled and Harasis, Salman and {Al-Odat}, Zeyad and Obeidat, Mohammad and Mansour, Ayman and Wu, Di and Salem, Qusay},
journal={IET Renewable Power Generation},
volume={16},
number={2},
year={2021},
month={12},
doi={https://doi.org/10.1049/rpg2.12309}
}
\end{filecontents}
\documentclass[nonatbib]{elsarticle}
\usepackage[numbers]{natbib}
\begin{document}
[\citeauthor{aldaoudeyeh2021new}, \citeyear{aldaoudeyeh2021new}]
\cite{aldaoudeyeh2021new}
\bibliographystyle{elsarticle-num}
\bibliography{sample}
\end{document}
答案1
我建议您 (a)natbib
使用 选项加载numbers
(这是文档类的默认选项elsarticle
),但 (b) 使用elsarticle-harv
bib 样式而不是 样式elsarticle-num
。这样做之所以有效elsarticle-harv
,是因为 不同于elsarticle-num
, 能够生成数字样式和作者年份样式的引文标注。此外,elsarticle-num
和elsarticle-harv
bib 条目的格式相同。
唯一的问题是elsarticle-num
围兜的款式不是按字母顺序对 bib 条目进行排序,elsarticle-harv
确实如此。如果 bib 条目必须按照它们在文档中首次被引用的顺序列出,我建议您按以下步骤操作:
在您的 TeX 发行版中找到该文件
elsarticle-harv.bst
。复制此文件并将副本命名为 。elsarticle-harv-nosort.bst
(不要直接从 TeX 发行版编辑文件。)在文本编辑器中打开文件
elsarticle-harv-nosort.bst
。你用来编辑 tex 文件的编辑器就可以了。查找仅包含单词 的两行
SORT
。 (在我的 bst 文件副本中,该单词出现在第 1486 行和第 1560 行。)删除(或注释掉)这两
SORT
条指令。将文件保存
elsarticle-harv-nosort.bst
在包含主 tex 文件的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。(如果您不知道前面的说明是什么意思,则应选择第一个选项。)在您的主 tex 文件中,更改
\bibliographystyle{elsarticle-num}
为\bibliographystyle{elsarticle-harv-nosort}
并执行完整的重新编译循环:LaTeX、BibTeX,然后再执行两次 LaTeX。
祝您 BibTeX 愉快!
\begin{filecontents}[overwrite]{sample.bib}
@misc{ m:3001, author = "Mary Miller", title = "Thoughts", year = 3001 }
\end{filecontents}
\documentclass[numbers]{elsarticle}
\bibliographystyle{elsarticle-harv-nosort}
\begin{document}
\cite{m:3001}, \citeauthor{m:3001}, \citeyear{m:3001}
\bibliography{sample}
\end{document}