CTAN Comprehensive TeX Archive Network

Directory macros/luatex/latex/cacography

README.md

cacography

Typeset a document, get back a phone photo of it handwritten. does the layout, equations and structure; a handwriting model trained on real pen recordings writes every page on procedurally made paper, which is then photographed on a desk. The PDF keeps the typeset text invisibly underneath, so it stays searchable.

This bundle is the side (cacography.sty, cacography.lua; needs Lua). The pages are drawn by a separate Python program, cacography on PyPI (pip install cacography, then cacography setup). Compile with --shell-escape and Lua starts it by itself. Without that program, documents compile normally and show the typeset text. See doc/cacography-manual.pdf.

English and German. Version 0.14 (beta), November 2026.

Author and contact

A. Nader. Bug reports and questions: https://github.com/aynader/cacography/issues Source repository: https://github.com/aynader/cacography

Licence

Every file in this bundle is under the Project Public License, version 1.3c or later (https://www.latex-project.org/lppl.txt):

  • tex/cacography.sty, tex/cacography.lua, tex/LICENSE
  • README.md
  • doc/cacography-manual.tex, doc/cacography-manual.pdf
  • doc/examples/*.tex

No file in this bundle is under any other licence. The following are not part of this bundle and are distributed separately under their own terms:

  • the Python program cacography (PyPI, GitHub), under the MIT licence;
  • its trained handwriting models (a download from the GitHub release), which are for non-commercial research use only, because the datasets they were trained on allow only that.

Download the contents of this package in one zip archive (2.4M).

Cacography – Typeset in , get back a phone photo of handwritten notes

cacography turns a document into photorealistic phone photos of handwritten notes. Lua lays the document out at handwriting proportions and records every page; a separate renderer writes each page by hand and photographs it on a desk, and the next run places the photos in the PDF over the invisible typeset text, so it stays searchable. Paper, ink, crossouts, margin notes, lighting and camera are package options. The pages are drawn by the Python program cacography (PyPI, MIT licence), whose handwriting models are a separate download for non-commercial research use; neither is part of this package. Without them, documents compile normally and show the typeset text.

PackageCacography
Home page
Bug tracker
Announcements
Repository
Version0.14.0b1
LicensesThe Project Public License 1.3c
Copyright2026 A. Nader
MaintainerA. Nader
Contained inTeX Live as cacography
TopicsBackground
Graphics text
Notes
...
Guest Book Sitemap Contact Contact Author