latex设置citation显示作者+年份

news/2024/11/9 0:47:28/

如果是bib文件分开放,并且每个引用都明确写了author和year,那么直接\citep 就可以,就能产生(abc et al., 2015) 这种格式, 如果你不想要圆括号,可以使用\usepackage[square]{natbib}, 也可以使用\setcitestyle{authoryear,open={(},close={)}} 手动声明格式,你甚至可以声明一个大括号一个中括号,但注意后面这种方式,会覆盖掉前面的。

另外也可以分别\citeauthor{}\citeyear{}

如果是reference放在tex文件里,比如用\begin{thebibliography}\bibitem, 那么建议是用\citeauthor{}\citeyear{}。但注意,在reference中的\bibitem[]{}需要显示声明呈现形式。比如\bibitem[abc et al.(2015)]{paper123} 在文中使用时 citeauthor{paper123}, \citeyear{paper123} 即可。记住要按[abc et al.(2015)] 格式把作者和年份区分出来,如果漏掉了,cite之后会出现问好(author?)。

如果还想用\citep, 需要注意因为有时候\citep{} 不显示作者和年份,或者像\citet{}的效果那样只显示作者,不显示年份。我后续代码单独开的新文件是可以成功的,但有时候写好的论文再修改格式,怎么改都改不出来,可能是有覆盖。暂时没研究细节了

暂时没找到更有效的方式了,如果有的话欢迎留言。
debug代码

\documentclass{article}
\usepackage[square]{natbib}
\usepackage{hyperref}
\usepackage{url}
\bibliographystyle{cell}
\setcitestyle{authoryear,open={(},close={)}}
\begin{document}
1\citep{abcd:2006a}2\citep{abcd:2006b}3\cite{abcd:2006b}4\citeauthor{abcd:2006b}, \citeyear{abcd:2006b}5\citeauthor{abcd:2006a}6\citeyear{abcd:2006b}7\citeauthor{gan2014}, \citeyear{gan2014}8\citep{gan2014, Bridges2004}\bibliography{cellcite}\bibliography{cellcite}
\begin{thebibliography}{}
\bibitem[Goodfellow et al.(2014)]{gan2014} Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2020). Generative adversarial networks. Communications of the ACM, 63(11), 139-144.\bibitem[Bridges.(2004)]{Bridges2004}  L. Bridges, Face Reading in Chinese Medicine. London, U.K.: Churchill Livingstone, 2004.
\end{thebibliography}
\end{document}

其中bib文件为:

@incollection{abcd:2006a,author      = "Torben G. Andersen and Tim Bollerslev and Peter F. Christoffersen and Francis X. Diebold",title       = "Volatility and correlation forecasting",chapter     = 15,pages       = "777--878",editor      = "Graham Elliott and Clive W. J. Granger and Allan Timmermann",booktitle   = "Handbook of Economic Forecasting, Volume~1",publisher   = "Elsevier",address     = "Amsterdam",year        = 2006,
}@incollection{abcd:2006b,author      = "Torben G. Andersen and Tim Bollerslev and Peter F. Christoffersen and Francis X. Diebold",title       = "Practical volatility and correlation modeling for financial market risk management (with discussion)",chapter     = 11,pages       = "513--548",editor      = "Mark S. Carey and Ren{\'e} M. Stulz",booktitle   = "The Risks of Financial Institutions",publisher   = "University of Chicago Press",address     = "Chicago and London",year        = 2006,
}

再overleaf上预览效果就是这样. 那个绿色的框是可以关掉的,具体代码忘了,我这里默认关,转成pdf之后就没有绿框了

在这里插入图片描述


http://www.ppmy.cn/news/3514.html

相关文章

家居类小红书达人投放总结,kol执行策略

在小红书平台上,许多品牌方都做了达人投放,但结果却反响平平,最后才发现是达人挑选出了问题,而发现这个问题的代价就是错失先机,也耗费大量成本来试错,今天为大家分享一下小红书达人投放总结以及超硬干货。…

电销机器人源码厂家哪家好

而随着人工智能的发展,越来越多的企业开始选择采用智能语音机器人,来减轻人工的压力,更好的服务客户,提高效率。 智能语音机器人 优点有哪些? 1.降低成本 企业使用智能语音机器人不仅不用担心人员流失问题,还能为机…

引用类型 - JavaScript 数组对象、遍历、复制、冒泡排序、选择排序、数组方法、数组去重

写在前面 哎呀呀,每次都是要沉淀好久好久才能更一篇文章…基本上半个月都很难出一篇,但还是想把这个系列做起来,主要是为了记录自己学习和开发的过程,以便在面试的时候讲项目,能说得头头是道(◍•ᴗ•◍) 马上就要开…

Solid.js前端新秀框架 力压 web3.js 框架

SolidJS 是什么?SolidJS是一个声明式、高效且灵活用于构建用户界面的 JavaScript 库。 Solid 号称拥有 JSX 语法,类似于 React hook 的语法,你可以用现代化的开发方式,获得性能最快的代码。 框架本身只有7 KB大小,无需…

Vue的四个常用选项

文章目录前言一、四大选项简介二、filters(过滤器)三、computed(计算属性)四、methods(方法)五、watch(观察)总结:前言 本文讲解了vue.js中的四个常用选项,4个参数选项&…

利用JAVA编写计算器思路

1. 在开始写计算器之前,用笔在纸上画出计算器的草图,显示屏的位置, 每个按钮的位置及大小比列。 2. 使用 setLayout(new GridLayout(6, 3, 10, 10));创建容器框框,使 用 JPanel JPanel pane new JPanel(); pane.setLayout(new Bo…

竞拍拍卖管理系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 网站前台:关于我们、联系我门、公告信息、拍卖物品,拍卖完成 管理员功影: 1、管理关…

【MySQL】浅谈事务与隔离级别

文章目录1. 事务概述2. 事务的特性3. 事务的隔离级别1. 事务概述 什么是事务? 在MySQL中的事务(Transaction)是由存储引擎实现的,在MySQL中,只有InnoDB存储引擎才支持事务。事务处理可以用来维护数据库的完整性&#x…