From sciagent-skills
Guides The Lancet figure preparation: 300+ DPI at 120% size, editable formats (PowerPoint/Word/SVG), column widths (75/154 mm), Times New Roman, in-house redraws; includes Python Pillow/Matplotlib utilities.
npx claudepluginhub jaechang-hits/sciagent-skills --plugin sciagent-skillsThis skill uses the workspace's default tool permissions.
This guide provides the complete specifications for preparing figures for submission to **The Lancet** and Lancet family journals. A key distinguishing feature of The Lancet is that **most figures are redrawn by in-house illustrators** into Lancet house style. Therefore, editable source formats (PowerPoint, Word, SVG) are strongly preferred over rasterized images.
Guides Cell Press figure preparation: verifies resolution (300-1000 DPI) with Python/Pillow, specifies TIFF/PDF formats, RGB color, fonts, labels, and policies.
Creates publication-ready scientific figures with matplotlib/seaborn/plotly, including multi-panel layouts, error bars, significance annotations, colorblind-safe palettes, and journal formatting for Nature, Science, Cell.
Creates journal-ready scientific plots with matplotlib, seaborn, plotly. Supports multi-panel layouts, error bars, significance markers, colorblind-safe palettes, PDF/EPS/TIFF exports.
Share bugs, ideas, or general feedback.
This guide provides the complete specifications for preparing figures for submission to The Lancet and Lancet family journals. A key distinguishing feature of The Lancet is that most figures are redrawn by in-house illustrators into Lancet house style. Therefore, editable source formats (PowerPoint, Word, SVG) are strongly preferred over rasterized images.
Official reference: https://www.thelancet.com/submission-guidelines
| Requirement | Specification |
|---|---|
| All photographic images | 300 DPI minimum |
| Submission size | 120% of intended publication size |
TIP: Supply images 20% larger than publication size to ensure quality is maintained after any resizing by the production team.
from PIL import Image
def check_lancet_resolution(image_path):
"""Check if image meets Lancet resolution requirements."""
img = Image.open(image_path)
dpi = img.info.get('dpi', (72, 72))
print(f"DPI: {dpi[0]} x {dpi[1]}")
print(f"Minimum required: 300 DPI")
print(f"TIP: Submit at 120% of publication size")
if dpi[0] >= 300:
print("PASS: Resolution meets Lancet requirements")
else:
print("FAIL: Need at least 300 DPI")
return dpi[0] >= 300
| Format | Notes |
|---|---|
| PowerPoint (.pptx) | Most preferred — easy for in-house redraw |
| Word (.docx) | Accepted for simple figures |
| SVG | Scalable vector graphics |
| Format | Notes |
|---|---|
| TIFF | For photographic images |
| JPEG | Acceptable quality |
| EPS | Vector format |
| General purpose |
The Lancet's in-house illustration team redraws most submitted figures into the Lancet house style. Providing editable source files (especially PowerPoint) makes this process smoother and more accurate.
| Layout | Width |
|---|---|
| 1 column | 75 mm (2.95 in) |
| 2 columns | 154 mm (6.06 in) |
| Minimum width | 107 mm (4.21 in) |
import matplotlib.pyplot as plt
LANCET_WIDTHS = {
'single': 75 / 25.4, # 2.95 inches
'minimum': 107 / 25.4, # 4.21 inches
'double': 154 / 25.4, # 6.06 inches
}
def create_lancet_figure(layout='single', aspect_ratio=0.75):
"""Create a Matplotlib figure sized for The Lancet."""
width = LANCET_WIDTHS[layout]
height = width * aspect_ratio
fig, ax = plt.subplots(figsize=(width, height))
fig.set_dpi(300)
return fig, ax
| Purpose | Color Mode |
|---|---|
| Online publication | RGB |
| Print publication | CMYK |
| Element | Font | Size | Style |
|---|---|---|---|
| Main figure heading | Times New Roman | 10 pt | Bold |
| Figure legend | Times New Roman | 10 pt | Regular, single-spaced |
import matplotlib.pyplot as plt
def set_lancet_fonts():
"""Configure Matplotlib for Lancet figure fonts."""
plt.rcParams.update({
'font.family': 'serif',
'font.serif': ['Times New Roman', 'Times'],
'font.size': 10,
'axes.labelsize': 10,
'axes.titlesize': 10,
'axes.titleweight': 'bold',
'xtick.labelsize': 8,
'ytick.labelsize': 8,
'legend.fontsize': 8,
})
from PIL import Image
import os
def validate_lancet_figure(image_path, layout='single'):
"""Full validation of a figure against Lancet requirements."""
img = Image.open(image_path)
issues = []
# 1. Resolution check (300 DPI at 120% size)
dpi = img.info.get('dpi', (72, 72))
if dpi[0] < 300:
issues.append(f"Resolution {dpi[0]} DPI below 300 DPI minimum")
# 2. Dimension check
widths_mm = {'single': 75, 'minimum': 107, 'double': 154}
if layout in widths_mm and dpi[0] > 0:
actual_w_mm = (img.size[0] / dpi[0]) * 25.4
target = widths_mm[layout]
# Should be 120% of publication size
target_120 = target * 1.2
print(f"Width: {actual_w_mm:.1f} mm (target at 120%: {target_120:.1f} mm)")
# 3. Format recommendation
fmt = img.format
if fmt and fmt.upper() in ('TIFF', 'JPEG', 'PNG'):
print(f"NOTE: Format is {fmt}. Lancet prefers PowerPoint/Word/SVG for redrawing")
# Report
print(f"=== Lancet 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
The Lancet's most distinctive feature is that most submitted figures are redrawn by in-house illustrators into Lancet house style. This means editable source formats (PowerPoint, Word, SVG) are strongly preferred over polished raster images. Authors should focus on data accuracy rather than visual refinement.
The Lancet requires photographic images to be submitted at 120% of intended publication size at 300+ DPI. This buffer ensures quality is maintained after any resizing during production. A figure intended for single-column (75 mm) should be supplied at 90 mm width.
Unlike most biomedical journals that use sans-serif fonts, The Lancet uses Times New Roman as its standard figure font. Headings are 10 pt bold; legend text is 10 pt regular single-spaced. This aligns with Lancet's traditional typographic style.
What type of figure are you preparing?
├── Data visualization (graph, chart)
│ ├── PowerPoint available → Submit .pptx (preferred for redraw)
│ └── Only image available → SVG or EPS (vector, editable)
├── Photograph or clinical image
│ ├── High quality needed → TIFF at 300+ DPI, 120% size
│ └── Standard quality → JPEG at 300+ DPI, 120% size
└── Schematic or diagram
├── Editable source → PowerPoint or Word
└── Vector only → SVG or EPS
| Scenario | Format | Resolution | Notes |
|---|---|---|---|
| Bar chart from clinical trial | PowerPoint (.pptx) | N/A (vector) | Lancet redraws in house style |
| Kaplan-Meier curve | PowerPoint or SVG | N/A (vector) | Provide raw data if possible |
| Histology micrograph | TIFF | 300+ DPI at 120% size | Cannot be redrawn |
| Flowchart (CONSORT) | PowerPoint or Word | N/A (editable) | Lancet will redraw |
| Forest plot (meta-analysis) | PowerPoint or SVG | N/A (vector) | Data accuracy is priority |
ax.spines in matplotlib)Before submitting figures to The Lancet, verify: