使用 cite 包进行引用时,删除参考列表中的方括号引用

使用 cite 包进行引用时,删除参考列表中的方括号引用

我想删除参考书目列表中方括号内重复的引文,只以名称和年份开始。我正在使用包cite\bibliographystyle{apalike}带有 Citavi 参考编辑器的。我经常看到这个问题,常见的答案是改用包。这是一个好主意,但是我需要将文档中的natbib所有内容更改为以便将其放在括号中。我已经完成了整个(90 页)文档(我知道我应该在开始时就解决这个问题)。有没有办法在包内更改它们?或者有没有简单的方法将所有的切换到?\cite\citepcite\cite\citep

我还应该指出,我对 Latex 还只是个初学者。

在此处输入图片描述

答案1

书目apalike样式只能生成作者年份样式的引文标注,而该cite包旨在专门用于生成数字样式引文标注的书目样式。因此,如果您需要使用apalike书目样式,请执行不是使用该cite包。

您应该加载apalikenatbib引文管理包。前者比较老,但有\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}

相关内容