texmark
Write scientific articles in Markdown and convert them to journal-ready LaTeX and PDF.
- Preview while writing. Markdown renders in most editors (VS Code, JetBrains, vim) and on GitHub — equations included — so you can read a draft without running a LaTeX build.
- Lightweight, portable text. Markdown uses much less markup than LaTeX, so the source stays readable and works with ordinary tools: edit it on GitHub, version it with Git (branches, diffs, pull requests), or paste it into a Google Doc to draft interactively with collaborators who prefer that, then bring it back.
- One source, several journal templates. The same Markdown compiles to any of the supported LaTeX templates; changing the target journal means editing one field in the YAML header rather than reformatting the text.
- LaTeX output is kept. The generated
.texsits next to the PDF, so you can stop using texmark at any point and continue in LaTeX directly — usually necessary for the final journal-specific adjustments anyway.
📖 Documentation
Full documentation lives at https://perrette.github.io/texmark/:
- Installation (incl. external dependencies)
- Quickstart
- Journal templates
- YAML reference
- Guides: equations, multi-file projects, custom preamble, encoding, figures, build backends, live preview, custom LaTeX templates
Installation
pip install texmark
texmark also needs pandoc and a LaTeX distribution (pdflatex,
bibtex, latexmk). See the
installation page for the
per-platform details.
Quickstart
See example.md for a sample markdown file with yaml metadata in the header.
texmark example.md # markdown → tex
texmark example.md --pdf # markdown → pdf
For another journal, change the journal -> template field in the yaml
metadata, or pass -j for a quick test:
texmark example.md --pdf -j science -o build/example-science.pdf --tex build/example-science.tex
See the quickstart and journal templates pages for more.
From the same author
A few other open-source tools I maintain.
Scientific writing & data
- papers — command-line BibTeX bibliography and PDF library manager.
- datamanifest — declarative, reproducible dataset management. (See also the datamanifest.toml format spec and the DataManifest.jl Julia port.)
Speech to Text (dictate) and Text to Speech (read-aloud) tools
Acknowledgements
Parts of this project — notably extending the set of supported journals — were developed with AI assistance.
Metadata
Release files for texmark 0.15.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| texmark-0.15.3.tar.gz | 494.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| texmark-0.15.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 940.9 kB
Release files / texmark-0.15.3.tar.gz
| Download URL | texmark-0.15.3.tar.gz |
|---|---|
| Size | 494.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66dfd0be3b161aa12c31e473cb4c1368f52e04784a4f324423c31495de34f97e
|
|
BLAKE2b-256 checksum How to use checksums |
ba1ee8816c88b6fb9e23965ffeaae305540abab00529f00f9be6a9fd7631b82b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency logRelease files / texmark-0.15.3-py3-none-any.whl
| Download URL | texmark-0.15.3-py3-none-any.whl |
|---|---|
| Size | 446.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc86b0f46ecf8ebbab5f40a354e37f4353116a8a3f393f334733185e3ef9fbce
|
|
BLAKE2b-256 checksum How to use checksums |
f6ed1a2090d53ef1465319dda4a4a3dd5087d5b78d3f265511ca8e070f5c9387
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency log