简介:PACS(Physics and Astronomy Classification Scheme)是物理学与天文学领域的标准分类体系,由美国物理学会(AIP)制定并维护,广泛应用于学术出版与文献索引。该索引文档为2008年官方发布版本,内含完整的分类代码及子类结构,覆盖粒子物理、核物理、凝聚态物理、光学、声学、天体物理等众多研究方向,每个代码都对应着特定研究主题,便于论文投稿时准确标注学科领域、提升文献检索效率。文档还介绍了AIP的机构背景、成员学会构成、期刊出版及在线数据库服务等信息,有助于读者从机构层面理解这一分类体系的由来与权威性。资源包仅含1个PDF文件,体积约719KB,轻量便携、查阅方便;目前已有3820人学习/下载,特别适合需要按PACS规范完成投稿标注的高校师生、科研人员与期刊编辑随时参考使用。
1. 投稿前那一步最容易被忽略:PACS 选不对手稿先被退回
A同学第一次投物理类期刊时,系统里有个必填项叫“PACS classification”,他空着跳过了。三周后稿件退回,编辑意见只有一句话:请在稿件首页补充与内容匹配的 PACS 编号。这不是个例——Physics and Astronomy Classification Scheme(PACS)是一套专用于物理学和天文学领域的学科分类编码体系,期刊靠它决定稿件送到哪个编辑、哪个审稿人手里。选得准,稿件进正确方向;选偏了,轻则被退回重填,重则送错审稿人、白白消耗一轮周期。这篇文章要解决的就是三件事:读懂 PACS 编号的层级结构,学会在投稿前用一个可复现的流程锁准编号,以及把那些最容易翻车的细节提前排掉。适合正在准备物理、天文、光学、材料类稿件的研究生和科研人员,也适合给跨学科论文找不到合适分类的人。
2. PACS 的层级语法:两位数大类、四位数子类、六位数叶节点是怎么组织的
2.1 从 00 到 90:PACS 顶层大类的划分逻辑
PACS 的第一层是两位数字,从 00 到 90 左右,代表整个物理学科的最大分野。粗略看是按研究对象排的:从基本粒子和场开始,到核物理、原子分子、电磁学、等离子体、凝聚态、材料、交叉学科,最后是天体物理和地球物理。但不要把它当成一棵纯对象树——中间穿插着方法类,比如 02 是数学物理方法,07 是仪器、实验技术和测量方法。这类“工具型”大类经常被忽略,却是很多论文真正的归属。
判断顶层大类时,我一般先问自己一个问题:这篇论文的核心贡献是“对某类对象的新认识”,还是“用某种方法解决了问题”。如果是前者,按研究对象走;如果是后者,优先看 02、07 这类方法大类。举例来说,一篇开发了新型统计采样算法、顺手用来算凝聚态模型的论文,按对象会编到 60 多(凝聚态),但按方法更该进 05(统计物理)或 07(实验与计算方法)。很多编辑的第一轮人工分拣,恰恰是看这个判断。
2.2 “xx.yy.-z” 里的连字符和字母后缀到底代表什么
一个完整 PACS 编号的格式是:两位数字.两位数字.两位字母,例如 07.05.Tp。前两位是大类,前四位是子类,六位连同字母后缀才是真正能用来投稿的叶节点编号。字母后缀是两个字符,惯例上是首字母大写、第二个字母小写,比如 Fb、Kf、Tp。这里的字母没有任何缩写含义,纯粹是叶节点的顺序标识,不能当成记忆线索。
带连字符的写法要格外注意。像 03.65.-w、05.45.-a 这类编号,连字符加单个字母表示“该子类自身的总条目”,也就是父类级条目。当你看到 -w、-a,它代表的是整个量子力学总论或整个非线性动力学总论,粒度比具体叶节点粗。投稿时能用父类总条目吗?可以,但前提是论文的覆盖面确实横跨该子类的绝大多数方向;如果论文只做了其中一个细分问题,必须下沉到带完整字母后缀的叶节点。
2.3 一个代号差一个字母,送审方向差一个学科:粒度怎么查
我在给学生讲选号时最常举的例子是 07.05 这个子类内部的几个邻居:07.05.Fb 是统计分析,07.05.Kf 是算法实现与数据处理,07.05.Tp 是计算机建模与仿真。三者的对象词都可能是“数据”,但描述里一个强调统计推断、一个强调算法工程、一个强调模型构建。如果你的论文核心是提出了一个数据处理算法,选了 07.05.Tp,审稿人可能会被匹配到做物理建模的那批专家手里,他们对算法本身的兴趣往往不大。
查粒度时不要靠记忆,官方分类表的描述文字才是唯一标准。把摘要里的关键词拆开,逐个对到分类表条目的标题和描述中,看哪个条目的描述与摘要重合度最高,就选哪个。重合度包括对象词、方法词、目标词三类,至少两类命中才算合格。后面第 3 章我会给一个可以跑的辅助脚本,把这件事从“凭感觉”变成“可复核”。
3. 投稿前怎么锁定正确 PACS:两轮过滤加一个关键词辅助脚本
3.1 第一轮:用“核心方法”而不是“研究对象”圈定大类
选 PACS 的第一轮本质上是在做排除法。把论文摘要改写成一句话,格式固定为:“我用了什么方法,去研究什么对象,得到了什么结果在哪个尺度上成立”。然后从这句话里圈出“方法”和“对象”两个词。多数人选号失败的根源,是用对象词去圈大类,而 PACS 的实际索引逻辑里方法词的权重大于对象词。
一个我反复遇到的例子是材料计算方向。研究对象是某种氧化物陶瓷,按对象走很容易落到材料科学的大类下,但论文主体实际上是第一性原理计算,方法归属在计算物理。这时正确的大类应该是与计算相关的方法类或电子结构类,而不是材料制备类。判断方法很简单:如果删掉研究对象词,换一种完全不同的材料,论文的技术路线仍然成立,那这篇论文的学科归属就在方法类。
3.2 第二轮:在子类下逐级下沉,直到叶子条目
大类定下来后,打开分类表,把大类下所有四位子类列出来。这一步不要急着点开,先比较四位子类的标题词,筛出 2 到 3 个候选。每个候选点开后,看它下面有多少个六位叶节点,把与论文相关的叶节点标题全文读一遍。
下沉的终止条件有三个:一是找到了叶节点描述与摘要三词(对象、方法、目标)全部吻合的条目;二是论文确实横跨多个叶节点,此时选粒度最合适的单个叶节点,而不是同时并列一堆;三是退而求其次用带连字符的父类总条目,但必须在投稿说明里写清楚覆盖范围。
实际操作中我还会做一个动作:把候选叶节点编号在搜索引擎里过一遍,看看近几年同类论文投到哪个分类下。这不是套模板,而是用同行的选择校准自己的判断,特别适合那些跨学科边缘方向的论文。
3.3 关键词匹配脚本:把摘要喂进去,输出候选 PACS
为了减少重复劳动,我写过一个小的关键词辅助脚本。它的逻辑很简单:把下载好的 PACS 分类表文本解析成“编号→标题描述”的字典,再把摘要里提取的关键词逐个去匹配标题描述,按命中的关键词数量排序,输出前几个候选。脚本只做辅助,不替你做最终决定,但能在两轮过滤时快速缩小范围。
# pacs_suggester.py:从摘要关键词推断候选 PACS 分类号 import re from collections import defaultdict # 示例分类表片段:实际使用请换成你下载的完整 PACS 文本表 PACS_TABLE = { "07.05.Fb": "Data analysis: statistics", "07.05.Kf": "Data analysis: algorithms and implementation; data management", "07.05.Tp": "Computer modeling and simulation", "02.60.-x": "Numerical approximation and analysis", "03.65.-w": "Quantum mechanics", "05.45.-a": "Nonlinear dynamics and chaos", } def load_pacs_table(path): # 常见 PACS 文本表的行格式为:编号\t标题描述,或编号加两个以上空格再跟描述 table = {} with open(path, encoding="utf-8") as f: for line in f: line = line.strip() if not line or not line[0].isdigit(): continue parts = re.split(r"\s{2,}|\t", line, maxsplit=1) if len(parts) == 2: table[parts[0].strip()] = parts[1].strip() return table def suggest(keywords, table, top_k=5): # 关键词全部转小写,这里用子串匹配而非词向量相似度 kws = [k.lower() for k in keywords] hits = defaultdict(list) for code, title in table.items(): t = title.lower() for kw in kws: if kw in t: hits[code].append(kw) # 按命中关键词数量从多到少排序;若命中数相同,编号在前的排前面 ranked = sorted(hits.items(), key=lambda x: (-len(x[1]), x[0])) return ranked[:top_k] if __name__ == "__main__": table = load_pacs_table("pacs_table.txt") # 从摘要里挑 5 到 10 个实义词填在这里,越靠前的词权重越大不成立, # 当前实现未做权重,只按有/无命中计数 keywords = ["simulation", "quantum", "nonlinear"] for code, matched in suggest(keywords, table): print(code, table[code], "匹配到:", matched)这个脚本的匹配逻辑刻意做得保守:大小写归一、纯子串匹配,不做同义词扩展,为的是避免误命中。参数里有几个地方值得调整:top_k默认取 5,如果候选太少可以提到 10;关键词控制在 5 到 10 个之间,太少会漏掉真实相关条目,太多会引入噪声词,把分类表里常见的修饰词比如“study”“methods”带进来。解析部分我用了正则按两个以上空格或制表符切分,下载分类表后如果发现切不开,先看文件里编号和描述之间到底是几个空格还是特殊分隔符。
脚本跑完只给你候选,不做决策。真正选哪个,还要回到 3.1 和 3.2 的两轮过滤去复核。一个合理的工作流是:先用脚本把候选从上千条缩到 5 条,再用标题词下沉法把 5 条缩到 1 条,最后把这条编号连同描述放进投稿系统前再通读一次摘要,确认没有误配。
4. PACS 选号避坑:五次翻车现场与解决办法
4.1 把父类号当叶节点号提交,编辑第一轮就看出来
现象:投稿系统里填了 03.65.-w 这样的带连字符总条目,系统没有报错,但编辑在初审意见里要求改成具体的叶节点编号。
原因:带连字符的父类总条目是为覆盖整个子类设计的,期刊编辑默认作者只有在论文综述了该子类全部方向时才应该这么填。多数投稿论文只覆盖一个细分问题,填父类号会被认为是不清楚粒度。
解决:凡是带连字符的编号都当作“待选”而不是“已选”。在分类表里找到该编号所在子类的完整列表,顺着列表找到论文实际对应的那个具体叶节点。只有在光电子谱这类子类下所有条目都与论文相关时,才保留父类总条目,并在投稿附言里写明覆盖范围。
4.2 跨学科论文选了“看起来对”的领域,结果送错审稿人
现象:一篇用机器学习做凝聚态相变识别的论文,作者选了凝聚态大类下的实验条目,审稿人返回的意见集中在自己不熟悉的机器学习方法上,几乎每条都偏离论文重点。
原因:投稿系统按 PACS 匹配审稿人时,会读取编号对应的领域标签,然后在该领域作者池里找审稿人。对象词是凝聚态,方法词是机器学习,系统按对象词去找,自然找到的是凝聚态实验背景的审稿人。
解决:跨学科论文优先按方法归属选号。办法是修改前面那句话的顺序:“我用机器学习方法研究了相变识别问题”,方法词是机器学习,就应该先去计算物理、统计物理或数据方法类下找叶节点;对象词留在摘要里自然会被看到。必要时可以在投稿系统的“建议审稿人”栏里补两位有交叉背景的专家,弥补 PACS 单一匹配的盲区。
4.3 PACS 代码格式被系统判为非法:空格、点、大小写
现象:填写 07.05.tp 或 07.05.Tp(全角点)提交后,系统提示分类号不存在。
原因:PACS 编号是强格式约束的:两位数字、点、两位数字、点、大写字母加小写字母,点和字母均为半角。很多论文模板里复制的编号带着全角标点或多余空格,系统做字符串比对时自然拒收。
解决:提交前用正则做一次清洗。把分类号里所有全角字符统一转半角,去掉首尾空格和内部多余空格,然后把字母部分强制规范成首字母大写、第二个字母小写的形态。一个快速的 Python 格式化函数如下:
import re def normalize_pacs(raw): # 统一全角符号为半角(简单映射,依赖 unicodedata) import unicodedata raw = unicodedata.normalize("NFKC", raw.strip()) # 去掉中间所有空白 raw = re.sub(r"\s+", "", raw) # 匹配 2 位数字 . 2 位数字 . 2 位字母 m = re.fullmatch(r"(\d{2})\.(\d{2})\.([A-Za-z]{2})", raw) if not m: return None code = f"{m.group(1)}.{m.group(2)}.{m.group(3)}" # 规范字母大小写:首字母大写,第二字母小写 return code[:-2] + code[-2].upper() + code[-1].lower()这个函数会让规范化后的编号始终以标准形态进入系统。我在投稿前会把这个函数在命令行里跑一遍,把摘要里或模板里复制出来的所有候选编号都过一遍,再粘贴到投稿系统,基本能杜绝格式问题。
4.4 用了过时编号:PACS 停更后仍有人复制旧模板
现象:按三年前的论文模板填的 PACS 编号,在新的投稿系统里查不到。
原因:PACS 体系在前几年停止了大版本扩充,后来各出版方陆续迁移到自建主题词方案。老编号里有一部分被合并或废弃,不再出现在新分类表中,模板复制的编号随之中断。
解决:以投稿系统当前使用的分类表为准。打开投稿系统的分类选择页,直接搜索编号,确认该编号在当前表中仍然存在且描述未被改写。不要直接复制自己旧论文里的编号,除非刚从当前表的搜索结果里核对过。核对时还要把编号所在子类的邻近条目扫一眼,因为有些编号保留下来但描述范围被缩小了。
4.5 部分出版平台已换主题词表:PACS 字段变成了可选项
现象:投稿系统里根本没有 PACS 字段,只有“Subject Categories”或“Research Topics”。
原因:不少出版平台已经全面切换到自建主题词表,PACS 字段被移除或降级为稿件元数据中的参考项。
解决:先确认字段属性。如果系统明确要求选平台自建分类,就直接按平台分类走,不要硬找 PACS 映射;如果系统里有一个可选的“PACS/Keywords”补充字段,则仍应填 1 到 2 个 PACS 码作为索引补充。最稳妥的做法是把 PACS 码写进稿件首页页脚的注释里,与期刊要求的分类字段并行存在,这样即使系统字段没要,审稿人也能看到分类信息。
5. 不同出版平台的 PACS 处理方式与投稿字段对照
5.1 老牌物理类期刊:PACS 仍是硬性必填
在相当一部分传统物理学期刊的投稿流程里,PACS 依然在“稿件信息”步骤中作为必填项出现,通常要求填 2 到 3 个,并按与论文的相关程度排序。系统会把第一个编号视为主要分类,第一个编码决定送审方向的程度往往远超第二、第三个。所以排序不要按习惯把最熟悉的放在前面,要把最精准的放在前面。
这类平台对编号的查重也很严格。填完编号后,系统会展示每个编号对应的领域标题,供你复核。我一般在这个界面停十秒钟,逐字读一遍标题,但凡有一个标题与摘要的匹配是靠“沾边”撑起来的,就回头重新下沉。这个复核动作比投稿后等编辑反馈便宜得多。
5.2 转向自建主题词表的平台:PACS 与关键词并行
采用自建主题词的平台,投稿时会在“分类”步骤给出一个下拉树,分支结构与传统 PACS 类似但节点名称完全换成了平台自己的术语。此时页面上往往还留着一个“Additional classification(optional)”之类的文本框,这才是 PACS 该去的位置。
填可选字段时不要偷懒。这个字段在编辑分配审稿人时通常作为次级索引,与主分类并列参与匹配。我会把论文最相关的那个 PACS 叶节点填进去,后面不加额外说明。如果系统允许填多个,就按第一轮和第二轮的候选顺序,最多填两个,再多反而让索引权重被稀释。
5.3 系统不认 PACS 时怎么找对应分类:映射策略
平台分类与 PACS 术语不一致时,不要试图在脑子里做转换,用映射表去对。常见做法是先把论文的 PACS 候选编号找出来,再到平台分类树里搜索这个编号对应的领域词汇,看树里哪个节点的名称与 PACS 条目描述描述最接近。
映射的优先级是:先匹配方法词,再匹配对象词,最后匹配尺度词。例如 PACS 里 07.05.Tp 描述是计算机建模与仿真,平台分类树里没有一个叫这个名字的节点,但有一个叫“Computational Physics”的父节点,下面还有“Simulation and Modeling”子节点,那就选子节点而不是父节点。选好之后,回头在 PACS 补充字段里仍然填 07.05.Tp,形成双轨索引。
下面这张对照表是我自己整理的不同平台处理方式,按类型而不是具体平台名称划分,适用于大多数投稿系统:
| 平台类型 | PACS 字段状态 | 常见位置 | 填写策略 |
|---|---|---|---|
| 传统物理期刊 | 必填,2-3 个 | 稿件信息步骤的分类页 | 第一个填最精准叶节点,其余按相关度降序 |
| 新主题词平台 | 可选补充字段 | 分类步骤底部或元数据页 | 填 1 到 2 个 PACS,作为次级索引 |
| 完全移除 PACS | 无字段 | 无 | 首页页脚加 PACS 注释作为元数据 |
| 综合类科技期刊 | 选填,与学科关键词并列 | 关键词/主题词页面 | 选一个叶节点,放在关键词列表首位 |
6. 把 PACS 变成自己的投稿档案:一张表和一个存档习惯
给 PACS 选号这件事一个固定仪式:每篇论文定稿后,第一件事不是建投稿账号,而是用前面第 3 章的脚本跑一遍候选,再用第 4 章的格式化函数清洗编号,然后把最终选定的编号连同摘要关键词一起存进一张本地对照表。
我自己的存档格式是一行 CSV,列分别是日期、期刊领域、论文关键词、最终 PACS 编号、投递后编辑是否有异议。这样积累二十篇以后,就能看到自己研究方向的编号漂移规律。比如某段时间从计算方法类漂向材料类,往往意味着论文重心在变,这种察觉比临时查表有价值得多。
date,journal_topic,kw,pacs,note 2025-06-01,computational-physics,"simulation;quantum;algorithm",07.05.Tp,accepted 2025-09-15,materials-theory,"density-functional;surface;adsorption",71.15.Mb,editor-asked-revise表格里的“editor-asked-revise”这类备注,是我被编辑要求改号后习惯性记录的原因。翻看几次就会发现,意见集中在同一个原因上:对象词权重过高、方法词权重不足。再写新论文时,我会刻意用方法词重新过一遍候选流程,而不是直接沿用旧编号。
最后分享一个教训:有一次我图省事,直接复制了同领域一篇旧论文的 PACS 填进去,结果编辑在初审就把稿件退回,理由是分类号与摘要不符。那次之后我养成了习惯——每次投稿前把摘要里前五个实义词列出来,用脚本跑一遍,再人工复核一轮。整个过程不到十分钟,节省的是至少三周的退修周期。希望帮到你。
本文还有配套的精品资源,点击获取