Ipypublish
A workflow for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks, without leaving the browser!
Install / Use
/learn @chrisjsewell/IpypublishREADME
IPyPublish
A program for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks.
Documentation: ipypublish.readthedocs.io
<!-- [](https://www.codacy.com/app/chrisj_sewell/ipypublish?utm_source=github.com&utm_medium=referral&utm_content=chrisjsewell/ipypublish&utm_campaign=Badge_Grade) -->Attention: This package is still maintained, but it is envisaged that it will eventually be superceeded by the Executable Book Project toolchain. So definitely also check that out, and feedback any improvement suggestions! 😀

For an example of the potential input/output, see: Example.ipynb, Example.pdf, Example.html and Example.slides.html.
Or, for a practical example of the ipypublish capability, see these documents on Atomic 3D Visualisation: Notebook, PDF, HTML or Reveal.JS slideshow.
Design Philosophy
In essence, the dream is to have the ultimate hybrid of Jupyter Notebook, WYSIWYG editor (e.g. MS Word) and document preparation system (e.g. TexMaker), being able to:
- Dynamically (and reproducibly) explore data, run code and output the results
- Dynamically edit and visualise the basic components of the document (text, math, figures, tables, references, citations, etc).
- Have precise control over what elements are output to the final document and how they are layed out and typeset.
- Also be able to output the same source document to different layouts and formats (pdf, html,presentation slides, etc).
Workflow
- Create a notebook with some content!
- optionally create a .bib file and external images
- Adjust the notebook and cell metadata.
- install ipypublish and run the
nbpublishfor either the specific notebook, or a folder containing multiple notebooks. - A converted folder will be created, into which final
.tex.pdfand.htmlfiles will be output, named by the notebook or folder input
The default latex template outputs all markdown cells (unless tagged latex_ignore), and then only code and output cells with latex metadata tags.
See Example.ipynb, Example.pdf,
Example.html and Example.slides.html for examples of the potential input and output.

See the project site for more info!
Acknowledgements
IPyPublish is built as an extension to nbconvert.
I also took strong influence from:
- Julius Schulz
- Dan Mackinlay
- Notebook concatination was adapted from nbconvert issue#253
Related Skills
node-connect
333.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
82.0kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
333.3kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
