Manuscript Formatting logo

Manuscript Formatting

Community
neuromechanist
manuscript-formatting

Use this skill for "format manuscript", "prepare for submission", "journal formatting", "Word", "DOCX", "reference DOCX", "LaTeX template", "submission checklist", "format references", "BibTeX", "author guidelines", "page limits", "format for Nature", "format for IEEE", or when the user wants to format a manuscript for journal submission.

Overview

Publisherneuromechanist
Repositoryresearch-skills
Skill namemanuscript-formatting
Stars
51
Forks
9
Bundled files
6
LicenseBSD-3-Clause
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by neuromechanist on GitHub. Read the source before you install it.

Installation

Install the Manuscript Formatting AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/neuromechanist/research-skills/tree/main/plugins/manuscript/skills/manuscript-formatting
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/neuromechanist/research-skills.git /tmp/research-skills
mkdir -p .claude/skills
cp -r /tmp/research-skills/plugins/manuscript/skills/manuscript-formatting .claude/skills/manuscript-formatting
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Manuscript Formatting in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Manuscript Formatting on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Manuscript Formatting is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Manuscript Formatting and Submission Preparation

Format manuscripts to meet journal-specific requirements and prepare submission packages.

When to Use

  • Formatting a manuscript for a specific journal
  • Preparing a submission package (cover letter, figures, supplementary)
  • Converting between Word/DOCX, Markdown, and LaTeX
  • Checking compliance with author guidelines
  • Managing references and BibTeX

Word Draft Workflow

Use this workflow when the reader needs an editable .docx manuscript draft. The bundled reference document gives a polished, readable starting point with a clear title block, restrained headings, legible body text, page numbers, figure and table captions, and compact table text. It is a review-draft style, not a substitute for a journal's required template.

Create or Customize the Reference DOCX

Set SKILL_DIR to the directory containing this SKILL.md, or replace it with that directory's full path in the commands below. A ready-to-use reference file is at assets/Manuscript_Draft_Reference.docx. Copy it into the manuscript project and pass it to Pandoc with --reference-doc.

To generate a fresh copy or change the sample title, run the bundled helper with Python 3.11 or newer and python-docx available:

bash
uv run --with python-docx python "$SKILL_DIR/scripts/create_docx_template.py" --output manuscript/reference.docx --title "Manuscript Title Goes Here"

Pandoc uses the reference DOCX's styles, page setup, header, and footer; it replaces the sample body with the Markdown manuscript. Keep the reference file in the project so collaborators can reproduce the same Word styling.

Mark Figures and Choose Their Placement

Represent each figure as a top-level fenced Div with the .paper-figure class. Put one standalone image first, then one or more caption paragraphs. The image's alt text is used as accessible alternative text; write it as a concise description of the visual information, separately from the caption.

markdown
::: {.paper-figure}
![Scatterplot of response time against device latency, with a positive trend and confidence band.](figures/latency.png){width=95%}
Figure 1. Response time increased with device latency. The shaded band shows the 95% confidence interval.
:::

Run the conversion with the bundled figure-placement filter. The default is inline, which keeps each figure at its Markdown location. Set figure-placement to end to gather marked figures in a Figures section immediately before References, or at the end when no References heading is present.

bash
pandoc manuscript.md --output manuscript.docx --reference-doc manuscript/reference.docx --lua-filter="$SKILL_DIR/scripts/figure-placement.lua" --metadata figure-placement=inline --citeproc --bibliography=references.bib --csl=journal.csl

For end-of-document figures, change the metadata value to figure-placement=end.

Keep a textual callout such as Figure 1 in the surrounding prose so readers can find the figure in either layout. Use figure-placement=inline for the normal in-place draft. The filter rejects malformed .paper-figure blocks and images without alt text instead of silently dropping content.

Review the Generated DOCX

Open the result in Word or LibreOffice and inspect page breaks, long captions, table widths, equations, cross-references, and the rendered bibliography. Journal submission rules override this generic draft styling; apply the journal's actual template and figure-placement requirements before submission.

Common Journal Formats

IEEE

  • Template: IEEEtran class
  • Columns: Two-column
  • References: Numbered, [1] style
  • Figures: Fit within column or span both columns
  • Page limit: Varies (typically 6-8 for conference, 12-14 for journal)
latex
\documentclass[journal]{IEEEtran}
\usepackage{cite}
\usepackage{amsmath}
\usepackage{graphicx}

Nature/Science

  • Format: Single column, specific heading hierarchy
  • References: Superscript numbered
  • Word limit: ~3000-5000 words (main text)
  • Figures: Max 6-8, submitted as separate files
  • Methods: Often separate section with no word limit

PNAS

  • Template: pnas-new class
  • Columns: Two-column in print, single for review
  • Word limit: ~4500 words
  • References: Numbered
  • Significance statement: Required, 120 words max

PLoS ONE

  • Format: No specific template required
  • References: Numbered, Vancouver style
  • No length restriction
  • Data availability: Statement required

Elsevier

  • Template: elsarticle class
  • Multiple formats: preprint, review, final
latex
\documentclass[preprint,12pt]{elsarticle}

LaTeX Essentials

Document Structure

latex
\documentclass[options]{class}
\usepackage{packages}

\title{Title}
\author{Authors}

\begin{document}
\maketitle
\begin{abstract}
\end{abstract}

\section{Introduction}
\section{Methods}
\section{Results}
\section{Discussion}

\bibliography{references}
\end{document}

BibTeX Management

bibtex
@article{smith2024,
  author  = {Smith, John and Doe, Jane},
  title   = {Title of the Paper},
  journal = {Journal Name},
  year    = {2024},
  volume  = {10},
  pages   = {1--15},
  doi     = {10.1000/example}
}

Common BibTeX styles:

  • plain - numbered, sorted alphabetically
  • unsrt - numbered, order of citation
  • ieeetr - IEEE transactions style
  • apalike - APA-like author-year

Cross-references

latex
\label{fig:results}   % Label a figure
\ref{fig:results}     % Reference by number
Figure~\ref{fig:results}  % Standard format

Submission Checklist

Before Submission

  • Manuscript formatted per journal template
  • Title page: title, authors, affiliations, corresponding author, ORCID
  • Abstract within word limit
  • Keywords provided (if required)
  • Main text within page/word limit
  • Figures as separate high-resolution files (typically 300+ DPI)
  • Figure captions in a separate list
  • Tables formatted per journal style
  • References complete and consistently formatted
  • Supplementary materials prepared separately
  • Cover letter drafted (run manuscript:humanizer on it; cover letters are particularly prone to AI-tell phrasing)
  • manuscript:humanizer natural-writing pass applied to all narrative sections, then journal house style (title case, citation format, etc.) re-applied where it overrides humanizer defaults
  • Conflict of interest statement
  • Data availability statement
  • Ethics approval statement (if applicable)
  • Author contributions (CRediT format if required)
  • Suggested reviewers (if required)

Cover Letter Template

Dear Editor,

We submit our manuscript titled "{TITLE}" for consideration
in {JOURNAL}.

{1-2 sentences: what the study did and found}

{1-2 sentences: why this matters to the journal's readership}

{1 sentence: confirmation of originality and no concurrent submission}

We suggest the following reviewers:
1. {Name, Affiliation, Email}
2. {Name, Affiliation, Email}

Sincerely,
{Corresponding Author}

Format Conversion

Markdown to LaTeX

bash
pandoc manuscript.md -o manuscript.tex --template=journal-template.tex --bibliography=refs.bib --citeproc

Word to LaTeX

bash
pandoc manuscript.docx -o manuscript.tex --extract-media=figures/

LaTeX to Word (for journals requiring .docx)

bash
pandoc manuscript.tex -o manuscript.docx --bibliography=refs.bib --citeproc

Semantic Line Breaks

Semantic line breaks put each substantial unit of thought on its own source line, so a small prose edit produces a small, reviewable diff. The SemBr specification requires that this formatting not alter the rendered document. The sembr CLI supports Markdown, plain text, and LaTeX and can be installed portably with uv tool install sembr.

Raw SemBr output is reasonable for ordinary Markdown after review. Do not trust raw output on LaTeX: line breaks can change comment scope or corrupt commands and escape sequences. Use the bundled safety wrapper for LaTeX:

bash
uv run python plugins/manuscript/skills/manuscript-formatting/scripts/semantic_breaks.py \
  manuscript.tex manuscript-semantic.tex \
  --compile-command latexmk -pdf -interaction=nonstopmode \
  -outdir '{build_dir}' '{source}'

The wrapper performs these gates before writing the destination:

  1. It replaces \\begin{verbatim}...\\end{verbatim} blocks and full-line % comments with atomic placeholders, then restores them after SemBr.
  2. It aligns whitespace-delimited tokens with Python's difflib.SequenceMatcher. If any token content diverges, it restores the original paragraph containing that divergence; whitespace-only changes in other paragraphs remain available as semantic breaks. A whitespace-collapsed string comparison alone is unsafe because it misses % comment truncation.
  3. When --compile-command is supplied, it compiles the original and guarded versions separately, runs pdftotext on both PDFs, and refuses to write the result unless the extracted bytes are identical. The compiler command must use {source} for its input and route generated files into {build_dir}; arguments after --compile-command are consumed by the wrapper.

Inspect the resulting diff and keep the compiled-output check in the workflow; matching extracted text is a safety gate, not a substitute for reviewing the source and the rendered PDF.

Additional Resources

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Manuscript Formatting AI skill do?

Use this skill for "format manuscript", "prepare for submission", "journal formatting", "Word", "DOCX", "reference DOCX", "LaTeX template", "submission checklist", "format references", "BibTeX", "author guidelines", "page limits", "format for Nature", "format for IEEE", or when the user wants to format a manuscript for journal submission.

Why use Manuscript Formatting on TypingMind?

Because you install it once and use it with any model. Manuscript Formatting is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Manuscript Formatting in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/neuromechanist/research-skills/tree/main/plugins/manuscript/skills/manuscript-formatting. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Manuscript Formatting?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Manuscript Formatting?

As many as you like. As long as a model supports skills, you can use Manuscript Formatting with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Manuscript Formatting AI skill free?

Yes. It is published on GitHub by neuromechanist under the BSD-3-Clause license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇