是否可以使用 elsarticle-num 获得作者年份引用样式?

是否可以使用 elsarticle-num 获得作者年份引用样式?

假设我想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-harvbib 样式而不是 样式elsarticle-num。这样做之所以有效elsarticle-harv,是因为 不同于elsarticle-num, 能够生成数字样式和作者年份样式的引文标注。此外,elsarticle-numelsarticle-harvbib 条目的格式相同。

唯一的问题是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}

相关内容