Citep 只能作为 cite 工作吗?

Citep 只能作为 cite 工作吗?

在理想情况下,使用natbibabbrvnat,引用例如\citet{Jones2004}和'\citep{Jones2004}'将给出琼斯等人(2004 年)(Jones 等人,2004 年)分别。

不幸的是我没有得到这个,相反我得到了

\citep{Jones2004}给我 ===>'(Jones,Giannini 和 Chang,2004)'

之前,@egreg、@lockstep:我按照你最后的想法删除了数字

\usepackage[square,numbers,round,comma,sort&compress,longnamesfirst]{natbib}

引用选择得相当好,除了文本中的 '\citep{}' 不起作用,但如果我在页面的空白部分尝试它,它就可以工作。示例如下。

但是,如果我删除长名优先,它有效,但我失去了拥有的风格长名优先在参考书目内容中。尽管如此,我还是调整了另一种参考书目样式,但如果其他人能够知道这种影响,那将会很有用,并且可能是解决方案。

\documentclass[a4paper, 11pt, twoside]{article} \usepackage[round,authoryear,semicolon,sort&compress,longnamefirst]{natbib} \usepackage{hyperref} \usepackage{文件内容}`

\begin{filecontents}{\jobname.bib}

@misc{A01,

author = {Jones, A. and James, C., and Giannini, J.},

year = {2001},

title = {Title of journal article},

}

\end{filecontents}

\begin{document}

太空是一个如此陌生的环境,试图\citep{A01}在其中工作需要新技术和知识。

\citep{A01}\\

\bibliographystyle{plainnat}

\bibliography{\jobname}

\end{document}

答案1

这个最小的例子对我有用。

\documentclass{article}

\usepackage{natbib}

\usepackage{hyperref}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\begin{document}

\citet{A01}

\citep{A01}

\bibliographystyle{abbrvnat}
\bibliography{\jobname}

\end{document}

(filecontents 环境仅用于将一些外部文件直接包含到示例中,以便进行编译。对于解决方案来说,它不是必需的。)

答案2

当 natbib 加载选项时numbers,即

\usepackage[...,numbers,...]{natbib}

该命令的\citep行为与通常的 类似\cite,而 则\citet打印“作者姓名 [x]”,其中“x”是数字引用。在这种情况下,只有数字才会成为参考书目的链接。相反,在默认的作者-年份引用系统中, 给出的所有“作者姓名(年份)”\citet和 给出的“(作者姓名,年份)”都\citep成为参考书目的链接。

相关内容