关于 pnas-figure-guide
PNAS Figure Preparation Guide 是供投稿作者准备 PNAS 配图的参考指南,整理期刊特定要求,并提供 Python 示例以检查图像属性。
主要功能
- 01按图像类型规定分辨率
- 02列出可接受格式与尺寸
- 03说明 RGB 色彩模式要求
- 04字体与分面标签规范
- 05图像完整性政策
- 06Python 配图验证示例
适用场景
- 01投稿前检查 PNAS 配图
- 02选择导出分辨率和图像尺寸
- 03核验色彩模式与嵌入字体
- 04准备符合规范的分面标签和图像说明
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jaechang-hits/ sciagent-skills --skill pnas-figure-guide安装后在 Claude Code 中输入/pnas-figure-guide确认已加载。
详细介绍
PNAS 图表准备指南
概述
本指南提供了向 PNAS(美国国家科学院院刊)投稿时准备图表的完整规范。PNAS 以其严格的仅限 RGB 政策(CMYK 投稿会被退回)、斜体大写面板标签以及自动图像筛查软件而著称。
官方参考:https://www.pnas.org/author-center/submitting-your-manuscript
分辨率要求
| 图像类型 | 最低分辨率 | 备注 |
|---|---|---|
| 半色调图像(彩色/灰度照片) | 300 PPI | 按出版尺寸计算 |
| 组合图稿(MS Office) | 600-900 DPI | 混合文本和图像 |
| 线条图(位图文本/细线条) | 1,000 PPI | 按出版尺寸计算 |
| LaTeX 图表 | — | 高质量 PDF 或 EPS |
from PIL import Image
def check_pnas_resolution(image_path, image_type='halftone'):
"""Check if image meets PNAS resolution requirements.
Args:
image_type: 'halftone' (300), 'combination' (600), or 'lineart' (1000)
"""
min_ppi = {'halftone': 300, 'combination': 600, 'lineart': 1000}
required = min_ppi.get(image_type, 300)
img = Image.open(image_path)
dpi = img.info.get('dpi', (72, 72))
print(f"Type: {image_type} | Required: {required} PPI | Actual: {dpi[0]} PPI")
if dpi[0] >= required:
print("PASS")
else:
print(f"FAIL: Need {required} PPI minimum")
return dpi[0] >= required
文件格式
| 格式 | 是否接受 |
|---|---|
| TIFF | 是(栅格图像首选) |
| EPS | 是(必须嵌入字体) |
| 是(必须嵌入字体) | |
| PPT | 是 |
| 3D 图像 | PRC 或 U3D,附带 2D 表示(TIFF/EPS/PDF) |
投稿阶段
- 初次投稿:格式不限——提交一份包含完整稿件、图表和 SI 的 PDF。无需提供高分辨率文件。
- 制作阶段:需要单独上传高分辨率图表文件。
图表大小和尺寸
重要:请按最终出版尺寸提供图像,而非整页尺寸。
| 版式 | 宽度 |
|---|---|
| 1 栏 | 8.7 cm(3.43 in) |
| 1.5 栏 | 11.4 cm(4.5 in / 27 picas) |
| 2 栏 | 17.8 cm(7.0 in / 42.125 picas) |
| 最大高度 | 22.5 cm(9 in / 54 picas) |
import matplotlib.pyplot as plt
PNAS_WIDTHS = {
'single': 8.7 / 2.54, # 3.43 inches
'middle': 11.4 / 2.54, # 4.49 inches
'double': 17.8 / 2.54, # 7.01 inches
}
PNAS_MAX_HEIGHT = 22.5 / 2.54 # 8.86 inches
def create_pnas_figure(layout='single', aspect_ratio=0.75):
"""Create a Matplotlib figure sized for PNAS."""
width = PNAS_WIDTHS[layout]
height = min(width * aspect_ratio, PNAS_MAX_HEIGHT)
fig, ax = plt.subplots(figsize=(width, height))
fig.set_dpi(300)
return fig, ax
色彩模式
关键:仅限 RGB
- 仅以 RGB 色彩模式提交
- CMYK 投稿将被退回修改
- 为 RGB 图像嵌入源 ICC 配置文件,以确保准确进行 RGB 到 CMYK 的转换
- PNAS 使用校准后的配置文件管理印刷转换
from PIL import Image
def validate_pnas_color_mode(image_path):
"""PNAS strictly requires RGB. CMYK will be rejected."""
img = Image.open(image_path)
if img.mode == 'CMYK':
print("REJECTED: PNAS does not accept CMYK images")
print("Action: Convert to RGB before submission")
return False
elif img.mode in ('RGB', 'RGBA'):
print("PASS: Image is in RGB mode")
return True
else:
print(f"WARNING: Unexpected mode '{img.mode}'; convert to RGB")
return False
def convert_to_rgb(image_path, output_path):
"""Convert any image to RGB for PNAS submission."""
img = Image.open(image_path)
if img.mode != 'RGB':
img = img.convert('RGB')
print(f"Converted from {img.mode} to RGB")
img.save(output_path)
字体要求
| 元素 | 规范 |
|---|---|
| 认可的字体 | Arial、Helvetica、Times、Symbol、Mathematical Pi、European Pi |
| 字号 | 最终出版尺寸下为 6-8 pt(印刷时至少为 2 mm) |
| 一致性 | 稿件中的所有图表使用相同字体 |
| 文本类型 | 优先使用矢量文本(可清晰缩放) |
| 嵌入 | EPS 和 PDF 文件中必须嵌入所有字体 |
面板标签(PNAS 特有规范)
- 斜体大写字母:A、B、C、D,……
- 这是 PNAS 的独特规范,与大多数其他期刊不同
import matplotlib.pyplot as plt
def set_pnas_fonts():
"""Configure Matplotlib for PNAS figure fonts."""
plt.rcParams.update({
'font.family': 'sans-serif',
'font.sans-serif': ['Arial', 'Helvetica'],
'font.size': 7,
'axes.labelsize': 7,
'axes.titlesize': 7,
'xtick.labelsize': 6,
'ytick.labelsize': 6,
'legend.fontsize': 6,
})
def add_pnas_panel_labels(fig, axes):
"""Add PNAS-style italicized uppercase panel labels."""
import string
if not hasattr(axes, '__iter__'):
axes = [axes]
for i, ax in enumerate(axes):
label = string.ascii_uppercase[i]
ax.text(-0.1, 1.1, label,
transform=ax.transAxes,
fontsize=8,
fontstyle='italic',
fontweight='bold',
va='top',
ha='right',
fontfamily='Arial')
标签规范
- 面板标签:斜体大写(A、B、C)
- 缩小后,所有文本、数字、字母和符号均为 6-12 pt(2-6 mm)
- 每幅图中的文字大小必须保持一致
- 标签应符合正文的字体规范
图像完整性与处理政策
禁止
- 增强、遮盖、移动、移除或添加图像中的任何特定特征
允许
- 调整整幅图像的亮度、对比度和色彩平衡,但不得遮盖或消除原始信息(包括背景)
必须
- 合并多个来源的图像时,必须通过排布和图注文字明确说明
- 在 Methods 部分注明图像处理软件
- 在图注中说明所有处理操作
- 根据要求提供原始数据(缺少数据可能导致拒稿)
自动筛查
PNAS 使用筛查软件检测:
- 克隆和粘贴痕迹
- 遮盖数据的可疑对比度调整
- 不一致的背景像素化
- 其他不当处理图像的迹象
无障碍访问
- 从第 123 卷开始,PNAS 为所有期刊图表添加替代文本,以提升数字无障碍访问体验
Python 快速入门:完整验证
from PIL import Image
import os
def validate_pnas_figure(image_path, image_type='halftone', layout='single'):
"""Full validation of a figure against PNAS requirements."""
img = Image.open(image_path)
issues = []
# 1. Resolution check
min_ppi = {'halftone': 300, 'combination': 600, 'lineart': 1000}
required = min_ppi.get(image_type, 300)
dpi = img.info.get('dpi', (72, 72))
if dpi[0] < required:
issues.append(f"Resolution {dpi[0]} PPI below {required} PPI for {image_type}")
# 2. STRICT RGB check
if img.mode == 'CMYK':
issues.append("REJECTED: CMYK not accepted. Must convert to RGB")
elif img.mode not in ('RGB', 'RGBA'):
issues.append(f"Color mode '{img.mode}' not standard; use RGB")
# 3. Dimension check at publication size
widths_cm = {'single': 8.7, 'middle': 11.4, 'double': 17.8}
max_height_cm = 22.5
if layout in widths_cm and dpi[0] > 0:
actual_w_cm = (img.size[0] / dpi[0]) * 2.54
actual_h_cm = (img.size[1] / dpi[1]) * 2.54
target_w = widths_cm[layout]
if actual_h_cm > max_height_cm:
issues.append(f"Height {actual_h_cm:.1f} cm exceeds max {max_height_cm} cm")
print(f"Print size: {actual_w_cm:.1f} x {actual_h_cm:.1f} cm (target width: {target_w} cm)")
# 4. Format check
fmt = img.format
accepted = ['TIFF', 'EPS', 'PDF', 'PNG', 'JPEG']
if fmt and fmt.upper() not in accepted:
issues.append(f"Format '{fmt}' not in preferred list (TIFF, EPS, PDF)")
# Report
print(f"=== PNAS Figure Validation ===")
print(f"Dimensions: {img.size[0]} x {img.size[1]} px")
print(f"DPI: {dpi[0]} x {dpi[1]}")
print(f"Color mode: {img.mode}")
if issues:
print(f"\nISSUES FOUND ({len(issues)}):")
for issue in issues:
print(f" - {issue}")
else:
print("\nAll checks PASSED")
return len(issues) == 0
关键概念
严格的 RGB 专用政策
PNAS 执行科学出版领域最严格的色彩模式政策之一。CMYK 投稿会被退回,不予评审。作者必须以 RGB 色彩模式提交所有图,并为图像标注其源 ICC 配置文件,以确保期刊制作团队能准确地将 RGB 转换为 CMYK。
三级分辨率体系
PNAS 使用 PPI(每英寸像素数)而非 DPI,并设定了三个级别:半色调图(照片)为 300 PPI,组合图(包含来自 MS Office 的文本和图像)为 600-900 DPI,线稿(位图文本和细线)为 1,000 PPI。图像在最终发表尺寸下必须达到这些阈值。
自动图像筛查
PNAS 使用筛查软件,自动检测不当图像处理的迹象,包括克隆/粘贴伪影、可疑的对比度调整,以及不一致的背景像素化。这种自动筛查是编辑评审的补充,可以发现人工检查可能遗漏的问题。
决策框架
What color mode is your image?
├── CMYK → REJECTED (convert to RGB before submission)
├── RGB → Accepted
│ └── ICC profile tagged? → Recommended for accurate print conversion
└── Grayscale → Convert to RGB
What type of image?
├── Halftone (photo/micrograph) → 300 PPI minimum
├── Combination (MS Office mixed) → 600-900 DPI
├── Line art (bitmap text/lines) → 1,000 PPI
└── LaTeX figure → High-quality PDF or EPS
What submission stage?
├── Initial → Single PDF with all content (format-neutral)
└── Production → Separate high-resolution figure uploads
| 情形 | 格式 | 分辨率 | 色彩模式 |
|---|---|---|---|
| 显微图 | TIFF | 300 PPI | RGB(嵌入 ICC 配置文件) |
| PowerPoint 图表 | PPT 或 TIFF | 600-900 DPI | RGB |
| 示意图 | EPS 或 PDF | 矢量或 1,000 PPI | RGB |
| 凝胶/印迹图像 | TIFF | 300 PPI | RGB |
| 3D 分子模型 | PRC/U3D + TIFF | 300 PPI(2D 备用方案) | RGB |
最佳实践
- 提交前将 CMYK 转换为 RGB:PNAS 会将 CMYK 文件退回,不予评审。上传前务必使用图像元数据工具检查色彩模式
- 为 RGB 图像嵌入 ICC 配置文件:嵌入源 ICC 配置文件可确保在 PNAS 的印刷制作流程中准确转换颜色
- 按最终发表尺寸提供图像:PNAS 要求图按栏宽设置尺寸(8.7/11.4/17.8 cm)。不要提交超大图像并指望期刊调整尺寸
- 使用斜体大写分面标签:PNAS 有一项独特规范——A、B、C(斜体、大写),与大多数其他期刊不同
- 在 EPS 和 PDF 文件中嵌入所有字体:缺少字体会导致渲染失败。使用矢量文本而非栅格化文本,以便清晰缩放
- 准备无障碍替代文本:自第 123 卷起,PNAS 为所有图提供替代文本。在准备图时撰写替代文本可节省修订时间
- 在 Methods 中注明图像处理软件:PNAS 要求明确列出使用的所有图像处理软件,而不只是笼统描述所做的调整
常见问题
- 以 CMYK 色彩模式提交图:PNAS 严格拒绝 CMYK。这是最常见且可避免的图稿拒稿原因
- 如何避免:提交前对每张图运行色彩模式验证脚本;将 CMYK 转换为 RGB
- 线稿使用 300 PPI:包含位图文本的线稿需要 1,000 PPI。使用 300 PPI 时,细线和小字会显得锯齿明显
- 如何避免:按类型对每张图分类(半色调图、线稿或组合图),并应用相应的分辨率级别
- 提交大于发表尺寸的图:PNAS 要求图像采用最终尺寸,而非超大尺寸。过大的图可能会被缩放,导致质量下降
- 如何避免:导出前将画布尺寸设为目标栏宽
- 使用非斜体分面标签:PNAS 的斜体大写规范(A、B、C)独具特色。使用非斜体标签会显得不熟悉该期刊的规范
- 如何避免:在 matplotlib 中对分面标签使用
fontstyle='italic',或在 Illustrator 中启用斜体设置
- 如何避免:在 matplotlib 中对分面标签使用
- 遗漏多来源合成图的标识:组合来自不同实验的图像时,PNAS 要求明确进行视觉和文字说明
- 如何避免:在合成元素之间使用清晰的边框或留白,并在图注中说明组合方式
提交前检查清单
向 PNAS 提交图件前,请确认:
- 半色调图像分辨率至少为 300 PPI;线稿分辨率至少为 1,000 PPI
- 文件格式为 TIFF、EPS 或 PDF
- 颜色模式为 RGB(不能使用 CMYK,否则会被拒收)
- 已嵌入 ICC 配置文件,以确保准确转换颜色
- 图件宽度符合栏宽布局(8.7 / 11.4 / 17.8 cm)
- 图件高度不超过 22.5 cm
- 提供的图像尺寸为最终出版尺寸
- 字体为 Arial、Helvetica 或 Times,字号为 6-8 pt
- EPS/PDF 中已嵌入所有字体
- 面板标签为斜体大写字母(A、B、C)
- 每幅图内的文字大小保持一致
- 对整幅图统一应用所有调整
- 在图例中明确标注由多个来源合成的图像
- 在 Methods 中注明处理软件
- 可提供未经处理的原始数据以供审查
- 已准备无障碍替代文本
参考资料
评论
支持 Markdown