skills/scientific-writing/lancet-figure-guide/SKILL.md
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.
npx skillsauth add jaechang-hits/scicraft lancet-figure-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 | | 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) |
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:
tools
Fast short-read DNA aligner for WGS/WES/ChIP-seq. 2× faster BWA-MEM successor; outputs SAM/BAM with read group headers for GATK. Primary plus supplementary records for chimeric reads. Use STAR for RNA-seq splice-aware alignment; Bowtie2 is a comparable alternative.
tools
smina molecular docking CLI. AutoDock Vina fork with customizable scoring functions, native SDF/MOL2/PDB ligand input, autoboxing, local energy minimization, and per-atom score breakdowns. Pipeline: receptor PDBQT prep -> ligand prep (RDKit/OpenBabel) -> dock via autobox or explicit grid -> rescore/minimize with custom scoring -> rank poses by affinity. Choose smina over Vina when you need custom scoring terms (--custom_scoring), local optimization of an existing pose (--local_only), per-atom contributions (--atom_term_data), or SDF/MOL2 ligands without manual PDBQT conversion. For unknown binding sites use diffdock-blind-docking; for the Python-bindings/Vinardo workflow use autodock-vina-docking.
development
mdtraj molecular dynamics trajectory analysis (Python). Reads DCD/XTC/TRR/NetCDF/H5/PDB topologies and trajectories; computes RMSD vs time, radius of gyration, per-residue RMSF, residue-residue contact frequency maps, phi/psi torsions for Ramachandran plots (general + Gly/Pro), and 8-state DSSP secondary structure. Modules: trajectory I/O, geometry (distances/angles/dihedrals), structural analysis (RMSD/Rg/RMSF/SASA), contacts, hydrogen bonds, secondary structure (DSSP), NMR observables. For broader atom-selection grammar use mdanalysis-trajectory; for running MD simulations use OpenMM/GROMACS.
development
Programmatic PubMed access via NCBI E-utilities REST API. Covers Boolean/MeSH queries, field-tagged search, endpoints (ESearch, EFetch, ESummary, EPost, ELink), history server for batches, citation matching, systematic review strategies. Use for biomedical literature search or automated pipelines.