Я знаю, что есть несколько вопросов по этому поводу, но я не смог найти решение конкретно для такой проблемы: как мне сделать \citeauthor{}
, но сохранить стиль цитирования, который я хочу (я использую \bibliographystyle{ieeetr}
).
Мой .tex-файл выглядит примерно так:
\usepackage{natbib}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\citeauthor{smith}
\begin{document}
\bibliographystyle{ieeetr}
\bibliography{References}
\end{document}
И файл .bib:
@Article{smth,
author ="Smith, Anton",
title ="The title",
year ="2019",
journal = "Some journal",
volume ="1"}
Я понимаю (автор ?) вместо Антона.
Так как же мне сохранить свой стиль цитирования, но использовать \citeauthor
?
решение1
Библиографическому ieeetr
стилю уже более тридцати [30!] лет. К счастью, в последние годы IEEE придумал новые стили bib, которые (i) более или менее создают те же самые отформатированные библиографии и (ii) прекрасно взаимодействуют с современными пакетами управления цитированием, такими как natbib
.
В частности, если вы хотите иметь возможность использовать макрос \citeauthor
пакета natbib
, вам следует переключиться на IEEEtranN
стиль bib. Его вывод, с использованием файла MWE ниже, выглядит следующим образом:
Для сравнения, вот что получится, если ieeetr
использовать древний стиль нагрудника — обратите внимание на "(автор?)" в том месте, где на снимке экрана выше показано "Smith":
Как видите, запись типа @article
форматируется одинаково в обоих стилях bib — разница лишь в том, как \citeauthor{smith}
она обрабатывается.
Также обратите внимание, что natbib
пакет должен быть загружен с опцией, numbers
если IEEEtranX
используется один из стилей нагрудника.
\RequirePackage{filecontents}
\begin{filecontents}{References.bib}
@article{smith,
author = "Smith, Anton",
title = "The title",
year = "2019",
journal = "Some journal",
volume = "1",
number = "2",
pages = "3--4",
}
\end{filecontents}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[numbers]{natbib}
\bibliographystyle{IEEEtranN} %%% or: \bibliographystyle{ieeetr}
\begin{document}
\cite{smith}, \citeauthor{smith}
\bibliography{References}
\end{document}