Skip to content

docs: switch the tikz extension to the maintained tikz2 fork - #64

Merged
wenh06 merged 1 commit into
masterfrom
docs-tikz2
Nov 1, 2026
Merged

wenh06 merged 1 commit into
masterfrom
docs-tikz2

Conversation

@wenh06

@wenh06 wenh06 commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Summary

sphinxcontrib-tikz on PyPI (0.4.20) is an unmaintained 2018-era codebase; its gettext build crashes under Sphinx 9, which removed sphinx.util.ENOENT (found when building the docs on Python 3.13 after the dependency migration).

This switches docs/requirements.txt to the maintained fork at github.com/wenh06/tikz2:

  • keeps the sphinxcontrib.tikz extension module name, so conf.py is unchanged;
  • imports ENOENT from errno and supports both the old and new locations of sphinx.util.osutil.ensuredir;
  • installs as the same distribution name, replacing the PyPI package one-for-one.

Validation

  • make gettext: completes (previously crashed with the PyPI snapshot under Sphinx 9.2.0).
  • English and zh_CN builds: the two tikz diagrams on the algorithm theory pages (APFL / FedDyn schematics in proximal.rst) render as SVGs in both languages.
  • zh_CN warnings: only the three pre-existing Sphinx 9 i18n.inconsistent_references notices on old theory-page translations, unchanged from master.

sphinxcontrib-tikz on PyPI (0.4.20) is an unmaintained 2018-era codebase;
its gettext build crashes under Sphinx 9, which removed
sphinx.util.ENOENT. The fork at github.com/wenh06/tikz2 keeps the
sphinxcontrib.tikz extension module name, imports ENOENT from errno, and
supports both the old and new locations of sphinx.util.osutil.ensuredir.
The requirement now installs from that repository.

Verified locally under Sphinx 9.2.0 on Python 3.13: the gettext build
completes, and the two tikz diagrams on the algorithm theory pages
render as SVGs in both the English and zh_CN builds.
@wenh06
wenh06 merged commit acab43c into master Nov 1, 2026
28 checks passed
@wenh06
wenh06 deleted the docs-tikz2 branch November 1, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant