Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/jaechang-hits-lancet-figure-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 95% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 244% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 58% | 0% |
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.
pythonfrom 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 | | PDF | 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) |
pythonimport 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 |
pythonimport 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, })
pythonfrom 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:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 15,915 | 14,402 | -10% | 1 | 1 | 0% | 2,910 | 5,689 | +95% | 0 | 0 | — |
case-02 | fail→pass | 19,515 | 10,516 | -46% | 1 | 1 | 0% | 3,265 | 4,894 | +50% | 0 | 0 | — |
case-03 | fail→pass | 18,151 | 8,151 | -55% | 1 | 1 | 0% | 2,920 | 4,350 | +49% | 0 | 0 | — |
case-04 | fail→pass | 16,614 | 3,351 | -80% | 1 | 1 | 0% | 1,030 | 3,540 | +244% | 0 | 0 | — |
case-05 | pass→pass | 3,542 | 2,538 | -28% | 1 | 1 | 0% | 516 | 3,345 | +548% | 0 | 0 | — |
case-06 | fail→pass | 10,540 | 2,013 | -81% | 1 | 1 | 0% | 2,094 | 3,308 | +58% | 0 | 0 | — |
case-07 | pass→pass | 8,850 | 4,769 | -46% | 1 | 1 | 0% | 1,475 | 3,716 | +152% | 0 | 0 | — |
case-20 | fail→pass | 8,946 | 6,370 | -29% | 1 | 1 | 0% | 1,422 | 4,025 | +183% | 0 | 0 | — |
case-08 | pass→pass | 9,753 | 3,887 | -60% | 1 | 1 | 0% | 1,538 | 3,560 | +131% | 0 | 0 | — |
case-09 | fail→pass | 8,096 | 2,015 | -75% | 1 | 1 | 0% | 1,327 | 3,317 | +150% | 0 | 0 | — |
case-10 | pass→pass | 9,745 | 1,562 | -84% | 1 | 1 | 0% | 1,634 | 3,146 | +93% | 0 | 0 | — |
case-11 | fail→pass | 9,843 | 1,907 | -81% | 1 | 1 | 0% | 1,545 | 3,250 | +110% | 0 | 0 | — |
case-12 | fail→pass | 9,277 | 4,004 | -57% | 1 | 1 | 0% | 1,429 | 3,614 | +153% | 0 | 0 | — |
case-13 | pass→pass | 7,417 | 1,646 | -78% | 1 | 1 | 0% | 1,185 | 3,161 | +167% | 0 | 0 | — |
case-14 | pass→pass | 7,305 | 20,524 | +181% | 1 | 1 | 0% | 1,396 | 3,905 | +180% | 0 | 0 | — |
case-15 | fail→pass | 12,494 | 1,297 | -90% | 1 | 1 | 0% | 1,374 | 3,144 | +129% | 0 | 0 | — |
case-21 | pass→pass | 6,202 | 6,482 | +5% | 1 | 1 | 0% | 1,069 | 3,928 | +267% | 0 | 0 | — |
case-16 | pass→pass | 6,759 | 2,428 | -64% | 1 | 1 | 0% | 464 | 3,385 | +630% | 0 | 0 | — |
case-17 | fail→pass | 10,820 | 3,658 | -66% | 1 | 1 | 0% | 1,636 | 3,551 | +117% | 0 | 0 | — |
case-18 | pass→pass | 6,836 | 5,747 | -16% | 1 | 1 | 0% | 1,254 | 3,879 | +209% | 0 | 0 | — |
case-19 | pass→pass | 8,422 | 2,474 | -71% | 1 | 1 | 0% | 1,487 | 3,350 | +125% | 0 | 0 | — |
case-22 | pass→pass | 6,860 | 6,410 | -7% | 1 | 1 | 0% | 1,145 | 3,949 | +245% | 0 | 0 | — |
case-23 | pass→pass | 16,703 | 18,395 | +10% | 1 | 1 | 0% | 2,788 | 5,764 | +107% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +48 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.