在gbt7714-bibtex-style中修改中文参考文献作者格式的方法
2026-02-04 05:24:03作者:姚月梅Lane
问题背景
在使用gbt7714宏包进行参考文献排版时,中文文献的作者列表格式需要特别注意。根据国内学术规范要求,当中文文献作者超过3位时,第三个作者后不应使用逗号分隔,而是直接添加"等"字。这与英文文献中"et al."前使用逗号的情况有所不同。
解决方案
要修改这一格式,我们需要编辑gbt7714-2005-numerical.bst文件中的相关代码段。具体需要修改的是处理作者列表的部分逻辑。
原始代码中,无论中英文文献,在缩略作者列表时都会在"et al."或"等"前添加逗号。我们需要针对中文文献进行特殊处理,使其不添加这个逗号。
修改后的代码逻辑如下:
{ entry.lang lang.zh =
'skip$
{ ", " * }
if$
bbl.et.al *
#1 'namesleft :=
}
这段代码的意思是:
- 首先检查当前文献的语言是否为中文(entry.lang lang.zh)
- 如果是中文,则跳过添加逗号的操作('skip$)
- 如果不是中文,则正常添加逗号({ ", " * })
- 最后添加"等"或"et al."(bbl.et.al *)
实现效果
修改后,参考文献将呈现如下格式:
中文文献: [1]孙丹,朱城聪,许作栋等.基于生成式人工智能的大学生编程学习行为分析研究[J/OL].电化教育研究,2024,(03):113-120
英文文献: [2]Gubbi J, Buyya R, Marusic S, et al. Internet of Things (IoT): A vision, architectural elements, and future directions[J]. Future generation computer systems, 2013, 29(7): 1645-1660.
注意事项
- 修改bst文件前建议做好备份
- 修改后需要重新编译参考文献数据库才能生效
- 不同版本的gbt7714宏包可能有细微差异,建议确认版本后再修改
- 如果使用TeX发行版提供的bst文件,可能需要先将其复制到工作目录再修改
这种修改方式既满足了中文文献的格式要求,又保留了英文文献的标准格式,是符合国内学术规范的解决方案。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0248- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
641
4.19 K
Ascend Extension for PyTorch
Python
478
579
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
934
841
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
386
272
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.52 K
866
暂无简介
Dart
885
211
仓颉编程语言运行时与标准库。
Cangjie
161
922
昇腾LLM分布式训练框架
Python
139
163
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21