在理想情况下,使用natbib
和abbrvnat
,引用例如\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
成为参考书目的链接。