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

news2024/11/15 17:19:22

【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.coloradmin.cn/o/1706407.html

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

相关文章

AutoDL搭建 ChatGLM3

租用新实例 这里选择的西北 B 区、RTX 409024GB 创建虚拟环境并激活 # 安装虚拟环境至数据盘 conda create --prefix /root/autodl-tmp/envs/chatglm3-demo python3.10# 激活虚拟环境 conda activate /root/autodl-tmp/envs/chatglm3-demo拉取ChatGLM3仓库代码 # 开启学术…

科学提效|AI融入零售业,未来零售的创新之旅

零售业正经历着由人工智能(AI)引领的转型浪潮。AI在零售和消费品(CPG)行业的应用前景广阔,它正以多种创新方式重塑行业的运作模式。且随着技术的不断进步,AI在零售业的应用将变得更加广泛和深入。AI不仅能够…

聊天宝使用技巧揭秘让您快捷回复效率翻倍

聊天宝快捷回复软件,推出大量实用工具,帮助客服能更加高效的实现快捷发送,一键发送,效果翻倍! ​ 前言 聊天宝作为一款快捷回复工具,让客服免去了打字回复之苦。所以很受广大客服欢迎,真是一旦…

数控六面钻选购指南:如何挑选一款高效、精准的加工利器?

在木工家具、门窗制造等行业中,数控六面钻凭借其高效、精准的特点,逐渐成为现代生产线上的必备设备。然而,市场上的数控六面钻品牌众多,性能各异,如何选购一款适合自己的设备呢?本文将为您提供一份实用的选…

aws lakeformation工作流程和权限管理逻辑

lakeformation在IAM权限模型之外提供独立的更细粒度的权限,控制数据湖数据的访问 能够提供列、行和单元格级别的精细控制 lakeformation的目的是要取代s3和iam策略,主要功能为 数据摄入,LF可以将不同类型的数据统一管理安全管理&#xff0…

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

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

B站pink老师CSS学习(一)

文章目录 一、CSS基础选择器1.标签选择器2.类选择器3. id选择器4.通配符选择器 二、字体属性1.字体2.字体大小3.字体粗细4.文字样式5.复合属性 三、文本属性1.文本颜色2.对齐文本3.装饰文本4.文本缩进5.行间距 四、CSS引入方式1. 内部样式表2.行内样式表3.外部样式表 一、CSS基…

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

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

服务器上创建搭建gitlab

一、下载与安装 在主目录操作~ 1.使用wget下载 wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.1-ce.0.el7.x86_64.rpm 可以在开源软件镜像站选择合适的版本,版本不同页面菜单会稍有差异,此次选…

Redis解决缓存一致性问题

文章目录 ☃️概述☃️数据库和缓存不一致采用什么方案☃️代码实现☃️其他 ☃️概述 由于我们的 缓存的数据源来自于数据库, 而数据库的 数据是会发生变化的, 因此,如果当数据库中 数据发生变化,而缓存却没有同步, 此时就会有 一致性问题存在, 其后果是: 用户使用缓存中的过…

Python的selenium爬取

1.selenium 1.1.前言 使用python的requests模块还是存在很大的局限性,例如:只发一次请求;针对ajax动态加载的网页则无法获取数据等等问题。特此,本章节将通过selenium模拟浏览器来完成更高级的爬虫抓取任务。 1.2.什么是seleniu…

Redis 主从搭建简单教程

安装单机 首先拿到安装包 wget https://download.redis.io/releases/redis-7.0.15.tar.gz然后进行解压 tar -zxvf redis-7.0.15.tar.gz 然后创建一个文件夹myredis将原始配置文件进行备份 mkdir /myrediscp redis.conf /myredis/redis7.conf 将配置文件复制进去 最后使用vim编…

深入Java:JSON解析与操作的艺术

哈喽,大家好,我是木头左! 一、初识JSON:数据格式的优雅舞者 在现代Web开发中,JSON(JavaScript Object Notation)以其轻量级和易于阅读的特点成为了数据交换的首选格式。它基于JavaScript的一个…

Python教程:使用Python和PyQt编写进制转换器工具

1.介绍 在现代计算中,进制转换是一项常见且重要的任务。为了简化这个过程,我们也可以利用Python和PyQt自己写一个直观且易于使用的进制转换器工具。这个工具将支持二进制、八进制、十进制和十六进制的相互转换,并提供良好的用户界面和交互体…

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

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

参数高效微调PEFT(二)快速入门P-Tuning、P-Tuning V2

参数高效微调PEFT(二)快速入门P-Tuning、P-Tuning V2 参数高效微调PEFT(一)快速入门BitFit、Prompt Tuning、Prefix Tuning 今天,我们继续了解下来自清华大学发布的两种参数高效微调方法P-Tuning和P-Tuning v2。可以简单的将P-Tuning是认为针对Prompt Tuning的改进…

P9 【力扣+知识点】【算法】【二分查找】C++版

【704】二分查找(模板题)看到复杂度logN,得想到二分 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标&#xff0…

“揭秘:为什么羊驼Ollama成为计算机运行大型语言模型的最佳拍档?“

最近,AIM 评测了在计算机上本地运行大语言模型(LLM)的最佳工具,Ollama 脱颖而出,成为最高效的解决方案,提供了无与伦比的灵活性。Ollama 是 Jeffrey Morgan 开发的一款开源工具,它正在彻底改变爱…

网络渗透day2

Windows登录的明文密码存储过程和密文存储位置 明文密码存储过程: Windows操作系统不会以明文形式存储用户密码。相反,当用户设置或更改密码时,系统会对密码进行哈希处理,然后存储其哈希值。哈希处理的目的是为了提高密码的安全性…

前端SEO优化包括哪些方面?

前端SEO优化主要关注网站的用户体验和页面内容的呈现,以确保网站对搜索引擎友好并能吸引用户 首先,要注意页面结构,用对的HTML标签比如标题和段落,这样搜索引擎更容易理解你的网页是怎么组织的,同时,保持H…