Skip to content
Development
Skill

/lancet-figure-guide

The Lancet figure preparation: resolution (300+ DPI at 120%), preferred editable formats (PowerPoint/Word/SVG), column widths (75/154 mm), Times New Roman, in-house redraw policy.

From plugin
sciagent-skills
364200 skills
Install
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill lancet-figure-guide --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/lancet-figure-guide

Context preview

The summary Claude sees to decide when to auto-load this skill.

The Lancet figure preparation: resolution (300+ DPI at 120%), preferred editable formats (PowerPoint/Word/SVG), column widths (75/154 mm), Times New Roman, in-house redraw policy.

SKILL.md

lancet-figure-guide.SKILL.md
name: lancet-figure-guide
description: "The Lancet figure preparation: resolution (300+ DPI at 120%), preferred editable formats (PowerPoint/Word/SVG), column widths (75/154 mm), Times New Roman, in-house redraw policy."
license: CC-BY-4.0
compatibility: Python 3.10+, Pillow, Matplotlib
metadata:
  authors: HITS
  version: "1.0"

The Lancet Figure Preparation Guide

Overview

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

---

Resolution Requirements

| 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

---

File Format

Preferred Formats (Editable)

| Format | Notes | |---|---| | **PowerPoint (.pptx)** | Most preferred — easy for in-house redraw | | **Word (.docx)** | Accepted for simple figures | | **SVG** | Scalable vector graphics |

Also Accepted

| Format | Notes | |---|---| | TIFF | For photographic images | | JPEG | Acceptable quality | | EPS | Vector format | | PDF | General purpose |

Why Editable Formats?

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.

---

Figure Size and Dimensions

| Layout | Width | |---|---| | 1 column | **75 mm** (2.95 in) | | 2 columns | **154 mm** (6.06 in) | | Minimum width | **107 mm** (4.21 in) |

  • All panels must fit on a **single page**
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

---

Color Mode

| Purpose | Color Mode | |---|---| | Online publication | **RGB** | | Print publication | **CMYK** |

  • Color and black-and-white photographs both accepted

---

Font Requirements

| Element | Font | Size | Style | |---|---|---|---| | Main figure heading | Times New Roman | **10 pt** | **Bold** | | Figure legend | Times New Roman | 10 pt | Regular, single-spaced |

Key Difference from Other Journals

  • The Lancet uses **Times New Roman** (serif font), unlike most other biomedical journals that prefer sans-serif fonts
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,
    })

---

Labeling Conventions

Rules

  • **No box outlines** around graphs
  • **No titles** inside graphs or artwork — include in caption instead
  • Number figures in order of citation in text

Best Practices

  • Keep figures as simple and clear as possible
  • The Lancet illustrators will redraw most figures, so focus on conveying data accurately rather than visual polish

---

Image Integrity and Manipulation Policy

  • Follow standard biomedical publishing ethics
  • All image adjustments should be applied uniformly
  • Describe any image processing in Methods
  • Maintain original data for potential review

---

Python Quick Start: Full Validation

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:
        pri
Read more
Ships withsciagent-skills

Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.

Get the whole plugin

Other skills on sciagent-skills.