sublime+LatexTools引用参考文献

简介: 在用sublime+LatexTools一段时间之后,发现用它来写Latex真的是非常方便,配置好TexLive之后直接CTRL+B就可以直接编译运行了,so cool!但是最近写课程论文的时候,我在引用参考文献时碰到了一些麻烦。

    在用sublime+LatexTools一段时间之后,发现用它来写Latex真的是非常方便,配置好TexLive之后直接CTRL+B就可以直接编译运行了,so cool!但是最近写课程论文的时候,我在引用参考文献时碰到了一些麻烦。不怕大家笑话,本来我写参考文献都是直接手动标注[1],[2]...然后手动写参考文献的。一旦参考文献多起来,这简直要命。所以我这次终于决定换一种方式,看看有没有什么好办法可以自动导出参考文献的。一找,办法果然还是很多的。这里简单记录我使用的一种办法。
    首先,你需要维护一个.bib文件,里面是特定格式的你的参考文献。一般是如下的形式:

@article{simonyan2015very,
    title="Very Deep Convolutional Networks for Large-Scale Image Recognition",
    author="Karen {Simonyan} and Andrew {Zisserman}",
    journal="international conference on learning representations",
    year="2015"
}

@inproceedings{krizhevsky2012imagenet,
    title="ImageNet Classification with Deep Convolutional Neural Networks",
    author="Alex {Krizhevsky} and Ilya {Sutskever} and Geoffrey E. {Hinton}",
    booktitle="Advances in Neural Information Processing Systems 25",
    pages="1097--1105",
    year="2012"
}

@inproceedings{he2016deep,
    title="Deep Residual Learning for Image Recognition",
    author="Kaiming {He} and Xiangyu {Zhang} and Shaoqing {Ren} and Jian {Sun}",
    booktitle="2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)",
    pages="770--778",
    year="2016"
}

article,inproceedings等表示的是文献类型,simonyan2015very,he2016deep表示的参考文献的id,这个id必须必须是独一无二的,后面会使用\cite{simonyan2015very}这种形式来引用参考文献。你可能会问,上面.bib文件难道需要手动填写吗?当然不会啦,有一种最简便的方法可以自动生成.bib文件,那就是去google scholar(可能需要FQ)或者bing scholar(推荐),搜索你引用的文献,它会自动生成.bib文件。以bing scholar为例,如图1所示:


图1 bing scholar 导出.bib文件

    导出.bib文件之后,我们需要在latex文件最后添加如下的几行命令:

\renewcommand\refname{参考文献} 
\bibliographystyle{plain}
\bibliography{mybibtex}

默认生成的参考文献名字是Reference,如果你的论文是用中文书写的话,第一行命令可以以参考文献命名;第二行是设置参考文献的格式;第三行mybibtex是你的.bib文件的名字(这里是mybibtex.bib,注意不需要.bib后缀)。如果你需要在文中的某个地方引用某篇参考文献的话,使用\cite{}命令会自动弹出所有的参考文献列表框,然后你选择相应的文献就可以自动引用了。引用是采用\cite{simonyan2015very}的形式,其中simonyan2015very是文献的id标识。我在实际操作的过程中遇到了bib files not found的问题。找了半天终于找到了问题,只需要在latex文件的首行加上% !TEX root = xxx.tex的命令即可,其中xxx.tex是你的latex源文件的名字。
    上面的步骤都完成之后,就可以编译latex文件了。这里如果使用普通的latex编译方式xelatex *.tex是没有办法成功生成参考文献的。需要依次执行如下的四个命令:

xelatex *.tex
bibtex *.aux
xelatex *.tex
xelatex *.tex

才可以成功编译。
    最后,你也可以参考知乎的这个回答:如何在LaTeX写作中管理参考文献?

热爱编程,热爱机器学习! github:http://www.github.com/Lyrichu github blog:http://Lyrichu.github.io 个人博客站点:http://www.movieb2b.com(不再维护)
目录
相关文章
|
机器学习/深度学习 Python
【机器学习】包裹式特征选择之递归特征消除法
【机器学习】包裹式特征选择之递归特征消除法
2407 4
|
存储 人工智能 算法
【五子棋实战】第2章 博弈树负值极大alpha-beta剪枝算法(二)
  博弈树(Game Tree)是博弈论中的一个概念,用于表示博弈过程中的各种可能走法和对应的结果。它是树结构,树的每个节点表示游戏的一个状态,每个节点的子节点表示在该状态下可能的下一步行动。
660 0
|
机器学习/深度学习 监控 PyTorch
YOLOv7+姿态估计Pose+tensort部署加速
YOLOv7+姿态估计Pose+tensort部署加速
|
10月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle的闪回删除
本文介绍了Oracle数据库的闪回删除(Flashback Drop)功能,该功能可从回收站恢复已删除的对象至删除前状态。文章详细讲解了回收站的工作原理及操作步骤,包括检查回收站功能是否开启、删除表、查看回收站内容以及使用闪回删除恢复数据等实战操作。通过具体示例,演示了如何恢复被删除的员工表及其数据,并处理同名表冲突问题。文末还附有视频讲解,帮助读者更直观地理解操作流程。
254 1
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
1020 32
|
人工智能 自然语言处理 运维
干货|AI赋能教学开发-利用AI生成教案、课件和讲义
本文分享了高校教师利用AI工具设计课程方案和课件的经验,分为两部分。第一部分详细介绍使用GPT4o生成高质量课程大纲的过程,包括客户需求分析、提示词设计及优化调整。第二部分展示如何借助AIPPT快速制作精美课件,并介绍AIPPT的长文档解读和链接生成PPT等功能。此外,文章还分享了多个实用的AI工具、智能体和提示词技巧,助力提升教学效率与质量。
3066 3
|
大数据 关系型数据库 数据库
python 批量处理大数据写入数据库
python 批量处理大数据写入数据库
848 0
|
搜索推荐 机器人 云计算
纳米机器人:医疗领域的微型革命与精准治疗
【9月更文挑战第16天】随着科技的飞速发展,纳米技术成为推动多个领域变革的重要力量。在医疗领域,纳米机器人以其独特优势引领着微型革命与精准治疗新时代。本文探讨其在药物输送、癌症治疗、手术辅助及疾病诊断中的应用,并分析其小型化、精准化、智能化与综合化的优势。尽管面临制造技术、体内控制等挑战,但随着科技的进步,纳米机器人有望成为人类健康的重要保障。
1133 10
|
设计模式 安全 Java
Java面试题:什么是单例模式?如何在Java中实现单例模式?
Java面试题:什么是单例模式?如何在Java中实现单例模式?
246 0