
Я хотел бы удалить дубликаты квадратных скобок в моем списке библиографии и начать только с имени и года. Я использую пакет cite
и \bibliographystyle{apalike}
, с редактором ссылок Citavi. Я часто видел этот вопрос, и общий ответ — использовать natbib
пакет вместо этого. Это хорошая идея, однако тогда мне нужно изменить все \cite
в документе на , \citep
чтобы оно было в скобках. И я закончил весь свой (90-страничный) документ (я знаю, что должен был исправить это в начале).. Есть ли способ изменить их в пакете cite
? Или есть простой способ переключить все \cite
на \citep
?
Должен также отметить, что я новичок в работе с латексом.
решение1
Стиль apalike
библиографии может производить только ссылки на цитаты в стиле authoryear, тогда как пакет cite
предназначен для использования исключительно со стилями библиографии, которые производят ссылки на цитаты в числовом стиле. Таким образом, если вам нужно использовать стиль apalike
библиографии, сделайтенетиспользуйте cite
пакет.
Вам следует загрузить либо , apalike
либо natbib
пакет управления цитатами. Первый более старый, но имеет "достоинство" (такое, какое оно есть) \cite
автоматически генерировать "скобочные" цитаты. Пакет natbib
намного новее и гораздо более универсален, чем apalike
пакет . Его "недостаток", по крайней мере для ваших целей, в том, что он \cite
ведет себя как \citet
, т. е. он создает "текстовые" цитаты, а не "скобочные" цитаты. Я могу придумать два "исправления":
Выполните глобальный поиск и замену всех вхождений
\cite{
в вашем документе, заменив их на\citep{
. (Я настоятельно рекомендую это «исправление».)Загрузите
letltxmacro
посылку и выдайте инструкцию\LetLtxMacro\cite\citep
в преамбуле. (
\citep
Макрос принимает необязательные аргументы; поэтому\let
его использование для присвоения\cite
может привести к странным и неприятным ошибкам.)
MWE, использующий natbib
пакет:
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{test, author = "Anne Author", title = "Thoughts", year = 3001}
\end{filecontents}
\documentclass{article}
\usepackage{natbib,letltxmacro}
\LetLtxMacro\cite\citep % make '\cite' act like `\citep`
\bibliographystyle{apalike}
\begin{document}
\cite[see][p.~45]{test}
\bibliography{mybib}
\end{document}