Re: pytex: a tex engine written in python

Jonathan Fine <[email protected]> Wed, 15 Jul 2026 18:45:44 +0100
Newsgroups gmane.comp.tex.texhax
Message-ID <CALD=Yf9Ok-KUg+NYAqvsNUDX=Fh10DUqc7_pQc4hWvS=cjSBRg@mail.gmail.com>
--00000000000039fc330656a9e51d
Content-Type: text/plain; charset="UTF-8"

Hi Junling

I've spent a few minutes looking at your pytex repository on github. I'm
impressed by the amount of work you've done, and not surprised that at
present your Python implementation runs slow.

In addition to your implementation in Python, there are roughly similar
implementations in Java and Rust. The Java implementation is not in use,
but is of historical interest. It aimed for 100% compatibility. It ran too
slow for use in production. The Rust implementation has users and is being
actively developed.

Java: https://en.wikipedia.org/wiki/New_Typesetting_System
Rust: https://tectonic-typesetting.github.io/en-US/

Tectonic is a Rust implementation (with changes) of XeTeX. Even if XeTeX is
changing only slowly, the derived work Tectonic is actively developed, see
https://github.com/tectonic-typesetting/tectonic/blob/release/CHANGELOG.md

Finally, https://tug.org/TUGboat/Articles/tb27-0/fine.pdf gives my views
(from 2005) on integrating Python with TeX. It's been a long time since
I've read that article.

I wish you well with your TeX and Python projects.

with kind regards

Jonathan

--00000000000039fc330656a9e51d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div>Hi Junling</div><div><br></div><div>=
I&#39;ve spent a few minutes looking at your pytex repository on github. I&=
#39;m impressed by the amount of work you&#39;ve done, and not surprised th=
at at present your Python implementation runs slow.</div><div><br></div><di=
v>In addition to your implementation in Python, there are roughly similar i=
mplementations in Java and Rust. The Java implementation is not in use, but=
 is of historical interest. It aimed for 100% compatibility. It ran too slo=
w for use in production. The Rust implementation has users and is being act=
ively developed.</div><div><br></div><div>Java:=C2=A0<a href=3D"https://en.=
wikipedia.org/wiki/New_Typesetting_System">https://en.wikipedia.org/wiki/Ne=
w_Typesetting_System</a></div><div>Rust:=C2=A0<a href=3D"https://tectonic-t=
ypesetting.github.io/en-US/">https://tectonic-typesetting.github.io/en-US/<=
/a></div><div><br></div><div>Tectonic is a Rust implementation=C2=A0(with c=
hanges) of XeTeX. Even if XeTeX=C2=A0is changing only slowly, the derived w=
ork=C2=A0Tectonic=C2=A0is actively developed, see</div><div><a href=3D"http=
s://github.com/tectonic-typesetting/tectonic/blob/release/CHANGELOG.md">htt=
ps://github.com/tectonic-typesetting/tectonic/blob/release/CHANGELOG.md</a>=
</div><div><br></div><div>Finally, <a href=3D"https://tug.org/TUGboat/Artic=
les/tb27-0/fine.pdf">https://tug.org/TUGboat/Articles/tb27-0/fine.pdf</a> g=
ives my views (from 2005) on integrating Python with TeX. It&#39;s been a l=
ong time since I&#39;ve read that article.</div><div><br></div><div>I wish =
you well with your TeX and Python projects.</div><div><br></div><div>with k=
ind regards</div><div><br></div><div>Jonathan</div></div></div>

--00000000000039fc330656a9e51d--