【LaTex】11 ACM参考文献顺序引用 - 解决 ACM-Reference-Format 顺序不符合论文实际引用顺序的问题

【LaTex】11 ACM参考文献顺序引用

  • 写在最前面
  • 解决 ACM-Reference-Format 顺序不符合论文实际引用顺序的问题
    • 问题描述
    • 问题原因
    • 如何解决问题
      • 解决方案1(更简单)
      • 解决方案2(更自由)
  • 小结


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

在学术论文写作中,参考文献的排序方式通常有两种:一种是按照引用顺序排序,另一种是按作者姓氏的字母顺序排列。

使用 ACM Reference Format 进行排版时,引用顺序可能会出现与实际引用顺序不一致的情况。本文将介绍这个问题的原因、解决思路,并提供有效的解决方案。

参考:https://www.cnblogs.com/haifwu/p/15457508.html
Latex——natbib宏包使用说明中文版
https://www.baeldung.com/cs/latex-bibtex-sort-references
https://blog.csdn.net/qq_46106285/article/details/138530789

解决 ACM-Reference-Format 顺序不符合论文实际引用顺序的问题

问题描述

当使用 ACM Reference Format 排版时,有时我们会发现,参考文献并没有按照我们在论文中实际引用的顺序出现。

这种情况会导致

  1. 作者在编辑论文时,不方便快速定位到参考文献相关区域,影响论文编辑优化体验。
  2. 读者在查看参考文献时,难以迅速找到对应的文献,影响阅读体验和论文的专业性。

问题原因

导致这一问题的原因主要有两个方面:

  1. BibTeX 的默认排序方式:BibTeX 默认按照作者姓氏的字母顺序排序参考文献,而不是按照引用的顺序。
  2. 缺乏适当的排序指令:在 LaTeX 文件中没有使用合适的排序指令,使得参考文献无法按照引用顺序排列。

如何解决问题

第一种解决方案则通过直接修改 .bst 文件中的排序设置,彻底禁用了默认的排序规则,使得参考文献能够按照我们引用的顺序出现。这种方法简单直接,适合不需要复杂排序功能的情况。

第二种解决方案的关键在于使用 natbib 宏包和适当配置的 .bst 文件。natbib 宏包提供了强大的引用管理功能,能够处理引用排序和格式问题。而通过配置 .bst 文件,我们可以确保参考文献按照实际引用的顺序排列,而不是默认的字母顺序。

解决方案1(更简单)

Makebst 工具是一个 LaTeX 包,它生成定制的参考文献样式。它允许我们设计自己的参考文献样式,同时管理排序偏好。

为了让 BibTeX 不对参考文献进行排序,有一种更简单的方法:

  1. 找到 ACM-Reference-Format.bst 文件:这是引用格式的设置文件。

  2. 修改排序设置:(一共有两个)

    • 打开 ACM-Reference-Format.bst 文件。
    • 使用文本编辑器中的搜索功能(如 Ctrl+F)并锁定大小写,搜索大写的 SORT
    • 注释掉所有的 SORT 相关代码。注释的方法是在每行代码前加 % 符号。

    例如:

    % SORT
    

    在这里插入图片描述

  3. 重新编译文档:在 LaTeX 文档中随意新增一个 \cite,然后重新编译即可。

解决方案2(更自由)

要解决这个问题,我们需要做以下几步:

  1. 使用 natbib 宏包:natbib 宏包可以提供更灵活的引用和排序功能。
  2. 配置 ACM-Reference-Format.bst 文件:使用一个定制的 .bst 文件来控制参考文献的排序方式。

具体步骤如下:

步骤1:确保没有冲突的 natbib 宏包

在 LaTeX 文档中导入 natbib 宏包时,可能会遇到选项冲突的问题。为了解决这个问题,首先需要确保文档中没有重复加载 natbib 宏包的地方。

  1. (如果是ACM模版,直接用2.)在 LaTeX 文档(.tex文件)的导言区(通常在 \documentclass 后面,\begin{document} 之前),检查是否已经加载了 natbib 宏包。如果已经加载,请确保所有加载都使用相同的选项。可以通过以下方式加载:
    (注意,多次加载natbib包并使用不同的选项会报错:确保natbib包只加载一次,并且使用一致的选项。检查您的文档导言区以及任何包含的包或模板,看看是否多次加载了natbib。)
    这里的 numbers 选项指示使用数字引用,而 sort&compress 选项则允许引用编号自动排序并压缩相邻的编号,比如说之前是[1, 2, 3, 4],可以压缩成[1-4]。

    \usepackage[numbers,sort&compress]{natbib}
    

    在这里插入图片描述

  2. 如果遇到选项冲突错误,可以在导言区添加以下命令,确保 natbib 选项一致:

    \PassOptionsToPackage{numbers,sort&compress}{natbib}
    \usepackage{natbib}
    

    在这里插入图片描述

宏包加载\usepackage[option]{natbib}
具体的 option 有
round: (default) 使用圆括号
square: 使用方括号
curly: 使用花括号
angle: 使用尖括号
colon: (default) 用引号分隔多个引用
comma: 用逗号分隔多个引用
authoryear: (default) 使用作者–年引用形式
numbers: 使用编号引用形式
super: 使用 Nature 那样的上标编号引用
sort: 多个引用按照首字母排序
sort&compress: 除排序外,多个引用可以合并 (如 3-6, 15)
longnamesfirst: 多个作者的文献第一次被引用时列出所有作者,以后的引用可以缩写为 et al.
sectionbib: 重定义了 \thebibliography 使用 \section* 而不是 \chapter*。这样使用 chapterbib 宏包时,参考文献名称为 section 一级
nonamebreak: 在一行排版所有作者名字,这可能引起 overfull hbox 警告但是消除了跨行的 hyperref 问题

步骤2:使用 natbib 宏包和 ACM-Reference-Format.bst 文件(这个源文件已包含)

  1. 确保你的 BibTeX 样式文件中包含如下指令:(一般会自带)

    \bibliographystyle{ACM-Reference-Format}
    

    在这里插入图片描述

  2. 编写 LaTeX 文档时,按正常流程引用参考文献:

    \cite{reference1}
    \cite{reference2}
    
  3. 在文档的末尾添加参考文献列表:

    \bibliography{your_bib_file}
    

小结

在学术写作中,参考文献的排序与实际引用顺序一致,还是修改起来更舒服的。

通过使用 natbib 宏包和适当配置的 .bst 文件,我们可以轻松解决这一问题,提升论文的质量和可读性。

希望本文的介绍能够帮助您在 LaTeX 写作中更好地管理参考文献。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浙江大学数据结构MOOC-课后习题-第六讲-图2 Saving James Bond - Easy Version

题目汇总 浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024 题目描述 测试点 思路分享 ①解题思路概览 我的想法是,先建立一个图,然后再利用DFS或者BFS来遍历判断当前顶点能否跳到岸上去 ②怎么建图? 首先要考虑采用什么数据结构来存储图…

uni微信小程序input框过滤中文字节以及规定以外的符号

问题描述 需求是输入账号只能为手机号、邮箱、字母和数字组成的字符串,那么就是所有大小写字母、数字、以及符号 - _ . 四种。 条件限制 微信小程序无法直接通过type属性实现,type属性中没有专门为只允许英文字母的输入类型。详情见input | uni-ap…

LVM与磁盘配额09

一、LVM 1、lvm概述 lvm (logical volume manager ):逻辑卷管理 linux系统下对硬盘分区的一种管理机制。 场景:lvm机制特别适合于管理大存储设备。 作用:可以动态的对硬盘进行扩容 。 逻辑上的磁盘,概…

uni-app加载本地图片报500(Internal Server Error)异常解决办法

在网上看到关于加载本地图片500错误是因为分包后无法加载分包中的图片,需要在manifest.json中在对应平台的配置下添加"optimization" :{ “subPackages” : true } 这个方法对我遇到的这种错误无效,于是我仔细看了一下所报的异常 上面说在pac…

教你网站如何免费实现https

想要实现https访问最简单有效的的方法就是安装SSL证书。只要证书正常安装上以后,浏览器就不会出现网站不安全提示或者访问被拦截的情况。下面我来教大家怎么去获取免费的SSL证书,又如何安装证书实现https访问。 一、选择免费SSL证书提供商 有多家机构提…

灵狐剪辑软件,视频AI剪辑+去水印裁剪+视频 分割+批量合成+智能混剪(教程+软件)

1.介绍: 【灵狐剪辑】是一款视频编辑工具,能够帮助用户轻松地制作出专业级别的视频作品。这款软件拥有丰富的视频编辑功能,包括剪辑、合并、添加特效、调整音频等,让用户能够充分发挥创意,打造出独具特色的视频内容。…

Hugging face win使用教程(二)

1. 将环境迁移到win,可以直接下载修改好的cuda环境https://download.csdn.net/download/liangjiubujiu/89368302?spm1001.2014.3001.5503 2. 修改hugging face的缓存路径 3. 重启pycharm 4. 编写测试代码,注意可能由于网络链接问题,需要关…

finetuning大模型准备(基于Mac环境)

为finetuning进行的热身准备,涉及周边的软件工具,方法。 问题1:finetuning过程较长,采用系统自带命令行没有后台,前台被杀后,容易造成训练失败。 解决方法: tmux可以开启后台训练 问题2&…

前端面试问题:子组件的某一个方法调用执行逻辑由父组件的属性状态变化来决定

面试官:请你讲讲你在该项目中遇到的问题是什么?你怎么解决这个问题? 答:我的回答:该项目的实现过程中我确实遇到了问题:【我会给大家整理回答思路和角度,那那么遇到这样的问题也可借鉴这种思路…

【Go专家编程——内存管理——逃逸分析】

逃逸分析 逃逸分析(Escape Analysis)是指由编译器决定内存分配的位置,不需要程序员决定。 在函数中申请一个新的对象 如果分配在栈上,则函数执行结束后可自动将内存回收如果分配在堆上,则函数执行结束后可交给GC&…

vscode+docker搭建迷你开发环境。制作docker镜像,并通过vscode连接后进行开发

制作自己的docker镜像,将docker镜像作为服务器,接受vscode连接 目录 1. 制作开发环境镜像 1.1 选择基础镜像 1.2 编写dockerfile 1.3 构建镜像 2. 启动镜像 3. 添加用户 3.1 查看物理机上用户信息 3.2 登录到docker中 3.3 按照物理机的用户和组…

YOLO训练报错解决:OSError: [WinError 1455] 页面文件太小,无法完成操作

问题:OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "C:\Users\12706.conda\envs\yolov8\lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll" or one of its dependencies. 解决方法: 降低数据加载的线…

掌握Adobe XD:为自学者准备的软件学习秘籍

相信了解一些设计软件的朋友都听说过这个软件,Adobe XD软件是一款功能强大的原型创建工具。随着Adobe XD软件越来越受到用户的青睐,它几乎涵盖了所有大中小企业和企业的设计,可以说是设计公司最常用的软件之一。Adobe XD软件可以在很多方面满…

Jenkins常用插件与应用详解

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Jenkins是一个平台我们通过安装插件来解决我们想要完成的任务 1、Jenkins常用插件 Allure&#…

常用图像分类预训练模型大小及准确度比较

近年来,深度学习技术的发展使得图像分类任务变得越来越容易。预训练模型的出现更是使得图像分类任务变得更加简单和高效。然而,随着预训练模型的数量和大小的增加,我们需要了解每个模型的特点和优缺点,以便更好地选择和使用它们。…

6岁开始学习打字,10岁学懂文字编程

​你们有没有想过打字速度会影响Coding 编程能力? 疫情期间,全国中小学均不定期停止面授课程,改为网上教学。顷刻之间,电脑、智能手机等即时通讯软件成为每日学习的「良师益友」,常伴左右。 同时,学生也由…

20212313 2023-2024-2 《移动平台开发与实践》第5次作业

20212313 2023-2024-2 《移动平台开发与实践》第5次作业 1.实验内容 设计并开发一个地图应用系统。 该实验需提前申请百度API Key,调用接口实现百度地图的定位功能、地图添加覆盖物和显示文本信息。 2.实验过程 2.1 获取SHA1 (1)打开控制台…

PostgreSQL数据库提权

前面讲述了mysql、SqlServer、Redis数据库相关的提权方式,有兴趣的也可以去看看。 这里讲的postgreSQL数据库提权就是任意命令执行漏洞(CVE-2019-9193)。 目录 数据库简介 漏洞原理 影响版本 漏洞利用 利用前提 漏洞复现 复现准备 复现过程 漏洞修复 数据…

三分钟轻松搞定内容,2024视频号最新AI自动生成影视解说,,百分之百过原创, 月入1万+

在这个数字时代,我们有幸见证了AI技术对创新的推动。现如今,一个崭新的平台出现了,它能让你用AI软件在短短3分钟内制作完成一段影视解说,而且由于这个平台尚属于新兴,竞争者稀少,提供了一个广阔的机遇天地。…

爬虫利器Frida RPC入门——夜神模拟器环境篇

Frida是一款轻量级HOOK框架,可用于多平台上,例如android、windows、ios等。 frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上。frida上层接口支持js、python、…