我正在尝试执行以下代码。对于\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
产生“(作者?)”。有什么补救办法吗?您需要使用更现代的参考书目样式,例如unsrtnat
或elsarticle-num
。
第三,诚然,题外话,您不应该对@article
已提交到 Arxiv 的文章使用条目类型。我建议您使用@misc
条目类型并将字段切换journal
为howpublished
。
\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}