From 89d69569dad7044ed189b9871c39654057951e3b Mon Sep 17 00:00:00 2001 From: WEN Hao Date: Sun, 1 Nov 2026 19:48:04 +0800 Subject: [PATCH] docs: switch the tikz extension to the maintained tikz2 fork 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. --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 96f9db5a..7d696a19 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -7,7 +7,7 @@ sphinx-design sphinx-emoji-favicon sphinx-intl sphinxcontrib-napoleon -sphinxcontrib-tikz>=0.4.20 +sphinxcontrib-tikz @ git+https://github.com/wenh06/tikz2 sphinxcontrib-bibtex sphinxcontrib-proof sphinxcontrib-pseudocode2