unsrt 中的引用作者

unsrt 中的引用作者

我正在尝试执行以下代码。对于\citeauthor{},我得到(作者?)。你能告诉我如何修复它吗?

\documentclass{report}

\begin{document}

\citeauthor{tomesh2020coreset} used dimensionality reduction technique called
coreset to faithfully represent the big data with limited number of points and then ap-
plied VQA to train ML models

\bibliographystyle{unsrt}
\bibliography{mybibfile}

\end{document}

以下 bibtex 保存在不同的文件中。

@article{tomesh2020coreset,
      title={Coreset Clustering on Small Quantum Computers}, 
      author={Teague Tomesh and Pranav Gokhale and Eric R. Anschuetz and Frederic T. Chong},
      year={2020},
      journal={arXiv preprint arXiv:1703.06476},
      eprint={2004.14970},
      archivePrefix={arXiv},
      primaryClass={quant-ph}
}

答案1

首先,该\citeauthor命令未在 LaTeX 内核中定义。如果上面显示的代码没有抛出有关“未知命令 \citeauthor”的错误消息,则一定是您正在加载一个定义名为 的宏的包\citeauthor。我猜您的真实文档会natbib显式地或通过您使用的文档类中的设置加载该包。

其次,古老的unsrt书目样式只能产生数字样式的引文标注。此外,它没有为每个条目留出足够的元信息,以使natbib命令\citeauthor能够工作;这就是为什么\citeauthor产生“(作者?)”。有什么补救办法吗?您需要使用更现代的参考书目样式,例如unsrtnatelsarticle-num

第三,诚然,题外话,您不应该对@article已提交到 Arxiv 的文章使用条目类型。我建议您使用@misc条目类型并将字段切换journalhowpublished

在此处输入图片描述

\documentclass{article} % to keep everything on a single page %% {report}
\begin{filecontents}[overwrite]{mybibfile.bib}
@misc{tomesh2020coreset,
      title={Coreset Clustering on Small Quantum Computers}, 
      author={Teague Tomesh and Pranav Gokhale and 
              Eric R. Anschuetz and Frederic T. Chong},
      year={2020},
      howpublished={arXiv preprint arXiv:1703.06476},
      eprint={2004.14970},
      archivePrefix={arXiv},
      primaryClass={quant-ph}
}
\end{filecontents}

\usepackage[numbers,square]{natbib}
\bibliographystyle{unsrtnat}

\begin{document}
\citeauthor{tomesh2020coreset} used dimensionality reduction technique 
called coreset to faithfully represent the big data with 
limited number of points and then applied VQA to train ML models

\bibliography{mybibfile}
\end{document}

相关内容