Sphinx 7.3.6__py3-none-any.whl → 7.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Sphinx might be problematic. Click here for more details.
- sphinx/__init__.py +5 -6
- sphinx/_cli/__init__.py +296 -0
- sphinx/_cli/util/__init__.py +0 -0
- sphinx/_cli/util/colour.py +103 -0
- sphinx/_cli/util/errors.py +165 -0
- sphinx/application.py +78 -43
- sphinx/builders/__init__.py +59 -15
- sphinx/builders/_epub_base.py +11 -5
- sphinx/builders/changes.py +2 -2
- sphinx/builders/epub3.py +2 -2
- sphinx/builders/gettext.py +10 -10
- sphinx/builders/html/__init__.py +56 -54
- sphinx/builders/latex/__init__.py +5 -5
- sphinx/builders/latex/constants.py +5 -0
- sphinx/builders/linkcheck.py +73 -38
- sphinx/builders/texinfo.py +1 -1
- sphinx/cmd/build.py +1 -1
- sphinx/cmd/quickstart.py +11 -11
- sphinx/config.py +57 -38
- sphinx/directives/__init__.py +7 -9
- sphinx/directives/code.py +12 -15
- sphinx/directives/other.py +12 -15
- sphinx/directives/patches.py +26 -0
- sphinx/domains/__init__.py +1 -1
- sphinx/domains/c/__init__.py +5 -5
- sphinx/domains/c/_ast.py +436 -12
- sphinx/domains/c/_symbol.py +89 -134
- sphinx/domains/changeset.py +3 -4
- sphinx/domains/cpp/__init__.py +5 -6
- sphinx/domains/cpp/_ast.py +822 -25
- sphinx/domains/cpp/_symbol.py +3 -0
- sphinx/domains/javascript.py +3 -6
- sphinx/domains/math.py +3 -2
- sphinx/domains/python/__init__.py +45 -6
- sphinx/domains/python/_object.py +7 -5
- sphinx/domains/rst.py +2 -2
- sphinx/domains/std/__init__.py +95 -14
- sphinx/environment/__init__.py +35 -15
- sphinx/environment/adapters/indexentries.py +71 -24
- sphinx/environment/adapters/toctree.py +1 -1
- sphinx/environment/collectors/__init__.py +18 -4
- sphinx/environment/collectors/asset.py +4 -4
- sphinx/environment/collectors/toctree.py +27 -14
- sphinx/events.py +7 -6
- sphinx/ext/apidoc.py +377 -170
- sphinx/ext/autodoc/__init__.py +13 -13
- sphinx/ext/autodoc/directive.py +10 -13
- sphinx/ext/autodoc/mock.py +10 -7
- sphinx/ext/autodoc/preserve_defaults.py +1 -1
- sphinx/ext/autodoc/typehints.py +2 -2
- sphinx/ext/autosummary/__init__.py +15 -9
- sphinx/ext/autosummary/generate.py +270 -154
- sphinx/ext/coverage.py +108 -18
- sphinx/ext/duration.py +10 -3
- sphinx/ext/extlinks.py +3 -2
- sphinx/ext/graphviz.py +3 -3
- sphinx/ext/ifconfig.py +1 -2
- sphinx/ext/imgconverter.py +1 -0
- sphinx/ext/imgmath.py +7 -6
- sphinx/ext/inheritance_diagram.py +3 -3
- sphinx/ext/intersphinx/__init__.py +81 -0
- sphinx/ext/intersphinx/__main__.py +10 -0
- sphinx/ext/intersphinx/_cli.py +44 -0
- sphinx/ext/intersphinx/_load.py +253 -0
- sphinx/ext/{intersphinx.py → intersphinx/_resolve.py} +17 -368
- sphinx/ext/intersphinx/_shared.py +53 -0
- sphinx/ext/mathjax.py +1 -1
- sphinx/ext/todo.py +2 -2
- sphinx/io.py +2 -6
- sphinx/locale/__init__.py +1 -5
- sphinx/locale/ar/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ar/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ar/LC_MESSAGES/sphinx.po +678 -471
- sphinx/locale/bg/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/bg/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/bg/LC_MESSAGES/sphinx.po +684 -476
- sphinx/locale/bn/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/bn/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/bn/LC_MESSAGES/sphinx.po +679 -472
- sphinx/locale/ca/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ca/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ca/LC_MESSAGES/sphinx.po +681 -474
- sphinx/locale/cak/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/cak/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/cak/LC_MESSAGES/sphinx.po +678 -471
- sphinx/locale/cs/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/cs/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/cs/LC_MESSAGES/sphinx.po +679 -472
- sphinx/locale/cy/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/cy/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/cy/LC_MESSAGES/sphinx.po +679 -472
- sphinx/locale/da/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/da/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/da/LC_MESSAGES/sphinx.po +679 -472
- sphinx/locale/de/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/de/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/de/LC_MESSAGES/sphinx.po +679 -472
- sphinx/locale/de_DE/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/de_DE/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/de_DE/LC_MESSAGES/sphinx.po +678 -471
- sphinx/locale/el/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/el/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/el/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/en_DE/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/en_DE/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_DE/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/en_FR/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/en_FR/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_FR/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/en_GB/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/en_GB/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_GB/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/en_HK/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/en_HK/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_HK/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/eo/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/eo/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/eo/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/es/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/es/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/es/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/es_CO/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/es_CO/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/es_CO/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/et/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/et/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/et/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/eu/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/eu/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/eu/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/fa/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/fa/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fa/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/fi/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/fi/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fi/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/fr/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/fr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fr/LC_MESSAGES/sphinx.po +725 -518
- sphinx/locale/fr_FR/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/fr_FR/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fr_FR/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/gl/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/gl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/gl/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/he/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/he/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/he/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/hi/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/hi/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hi/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/hi_IN/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/hi_IN/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hi_IN/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/hr/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/hr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hr/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/hu/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/hu/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hu/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/id/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/id/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/id/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/is/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/is/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/is/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/it/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/it/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/it/LC_MESSAGES/sphinx.po +708 -500
- sphinx/locale/ja/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ja/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ja/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/ka/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ka/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ka/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/ko/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ko/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ko/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/lt/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/lt/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/lt/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/lv/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/lv/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/lv/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/mk/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/mk/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/mk/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/nb_NO/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/nb_NO/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/nb_NO/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/ne/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ne/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ne/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/nl/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/nl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/nl/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/pl/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/pl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pl/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/pt/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/pt/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pt/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/pt_BR/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/pt_BR/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po +705 -498
- sphinx/locale/pt_PT/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/pt_PT/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pt_PT/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/ro/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ro/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ro/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/ru/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ru/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ru/LC_MESSAGES/sphinx.po +890 -680
- sphinx/locale/si/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/si/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/si/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/sk/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/sk/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sk/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/sl/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/sl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sl/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/sphinx.pot +702 -494
- sphinx/locale/sq/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/sq/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sq/LC_MESSAGES/sphinx.po +704 -497
- sphinx/locale/sr/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/sr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sr/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/sr@latin/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sr_RS/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sv/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/sv/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sv/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/ta/LC_MESSAGES/sphinx.po +1016 -808
- sphinx/locale/te/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/te/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/te/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/tr/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/tr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/tr/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/uk_UA/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/uk_UA/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/uk_UA/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/ur/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ur/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ur/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/vi/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/vi/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/vi/LC_MESSAGES/sphinx.po +701 -494
- sphinx/locale/yue/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/yue/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/yue/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po +704 -496
- sphinx/locale/zh_HK/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/zh_HK/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/zh_HK/LC_MESSAGES/sphinx.po +700 -493
- sphinx/locale/zh_TW/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/zh_TW/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po +729 -522
- sphinx/locale/zh_TW.Big5/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/zh_TW.Big5/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/zh_TW.Big5/LC_MESSAGES/sphinx.po +700 -493
- sphinx/roles.py +1 -1
- sphinx/search/__init__.py +17 -9
- sphinx/templates/quickstart/{root_doc.rst_t → root_doc.rst.jinja} +7 -10
- sphinx/testing/fixtures.py +22 -20
- sphinx/testing/path.py +6 -2
- sphinx/testing/util.py +8 -13
- sphinx/texinputs/sphinx.sty +449 -332
- sphinx/texinputs/sphinxlatexadmonitions.sty +209 -66
- sphinx/texinputs/sphinxlatexliterals.sty +9 -16
- sphinx/texinputs/sphinxlatexstyletext.sty +4 -38
- sphinx/texinputs/sphinxlatextables.sty +6 -14
- sphinx/texinputs/sphinxpackageboxes.sty +15 -42
- sphinx/texinputs/sphinxpackagefootnote.sty +4 -3
- sphinx/themes/agogo/layout.html +3 -3
- sphinx/themes/basic/genindex-single.html +2 -1
- sphinx/themes/basic/layout.html +3 -6
- sphinx/themes/basic/static/searchtools.js +4 -3
- sphinx/themes/haiku/layout.html +4 -4
- sphinx/themes/pyramid/layout.html +1 -1
- sphinx/themes/scrolls/layout.html +2 -2
- sphinx/theming.py +42 -7
- sphinx/transforms/__init__.py +34 -20
- sphinx/transforms/i18n.py +8 -7
- sphinx/transforms/post_transforms/__init__.py +1 -1
- sphinx/transforms/post_transforms/images.py +7 -10
- sphinx/util/_pathlib.py +2 -2
- sphinx/util/cfamily.py +52 -30
- sphinx/util/console.py +1 -1
- sphinx/util/display.py +16 -11
- sphinx/util/docutils.py +88 -40
- sphinx/util/fileutil.py +15 -3
- sphinx/util/images.py +1 -0
- sphinx/util/inspect.py +66 -22
- sphinx/util/inventory.py +15 -0
- sphinx/util/logging.py +14 -21
- sphinx/util/math.py +3 -1
- sphinx/util/nodes.py +9 -12
- sphinx/util/osutil.py +5 -5
- sphinx/util/parsing.py +93 -0
- sphinx/util/tags.py +71 -47
- sphinx/util/typing.py +261 -143
- sphinx/versioning.py +17 -17
- sphinx/writers/html5.py +26 -19
- sphinx/writers/latex.py +58 -28
- sphinx/writers/manpage.py +4 -3
- sphinx/writers/texinfo.py +19 -14
- {sphinx-7.3.6.dist-info → sphinx-7.4.0.dist-info}/METADATA +21 -20
- sphinx-7.4.0.dist-info/RECORD +591 -0
- sphinx-7.3.6.dist-info/RECORD +0 -581
- /sphinx/templates/apidoc/{module.rst_t → module.rst.jinja} +0 -0
- /sphinx/templates/apidoc/{package.rst_t → package.rst.jinja} +0 -0
- /sphinx/templates/apidoc/{toc.rst_t → toc.rst.jinja} +0 -0
- /sphinx/templates/epub3/{content.opf_t → content.opf.jinja} +0 -0
- /sphinx/templates/epub3/{nav.xhtml_t → nav.xhtml.jinja} +0 -0
- /sphinx/templates/epub3/{toc.ncx_t → toc.ncx.jinja} +0 -0
- /sphinx/templates/gettext/{message.pot_t → message.pot.jinja} +0 -0
- /sphinx/templates/imgmath/{preview.tex_t → preview.tex.jinja} +0 -0
- /sphinx/templates/imgmath/{template.tex_t → template.tex.jinja} +0 -0
- /sphinx/templates/latex/{latex.tex_t → latex.tex.jinja} +0 -0
- /sphinx/templates/latex/{longtable.tex_t → longtable.tex.jinja} +0 -0
- /sphinx/templates/latex/{sphinxmessages.sty_t → sphinxmessages.sty.jinja} +0 -0
- /sphinx/templates/latex/{tabular.tex_t → tabular.tex.jinja} +0 -0
- /sphinx/templates/latex/{tabulary.tex_t → tabulary.tex.jinja} +0 -0
- /sphinx/templates/quickstart/{Makefile_t → Makefile.jinja} +0 -0
- /sphinx/templates/quickstart/{Makefile.new_t → Makefile.new.jinja} +0 -0
- /sphinx/templates/quickstart/{conf.py_t → conf.py.jinja} +0 -0
- /sphinx/templates/quickstart/{make.bat_t → make.bat.jinja} +0 -0
- /sphinx/templates/quickstart/{make.bat.new_t → make.bat.new.jinja} +0 -0
- /sphinx/texinputs/{Makefile_t → Makefile.jinja} +0 -0
- /sphinx/texinputs/{latexmkjarc_t → latexmkjarc.jinja} +0 -0
- /sphinx/texinputs/{latexmkrc_t → latexmkrc.jinja} +0 -0
- /sphinx/texinputs/{make.bat_t → make.bat.jinja} +0 -0
- /sphinx/texinputs_win/{Makefile_t → Makefile.jinja} +0 -0
- /sphinx/themes/agogo/static/{agogo.css_t → agogo.css.jinja} +0 -0
- /sphinx/themes/basic/static/{basic.css_t → basic.css.jinja} +0 -0
- /sphinx/themes/basic/static/{documentation_options.js_t → documentation_options.js.jinja} +0 -0
- /sphinx/themes/basic/static/{language_data.js_t → language_data.js.jinja} +0 -0
- /sphinx/themes/bizstyle/static/{bizstyle.css_t → bizstyle.css.jinja} +0 -0
- /sphinx/themes/bizstyle/static/{bizstyle.js_t → bizstyle.js.jinja} +0 -0
- /sphinx/themes/classic/static/{classic.css_t → classic.css.jinja} +0 -0
- /sphinx/themes/classic/static/{sidebar.js_t → sidebar.js.jinja} +0 -0
- /sphinx/themes/epub/static/{epub.css_t → epub.css.jinja} +0 -0
- /sphinx/themes/haiku/static/{haiku.css_t → haiku.css.jinja} +0 -0
- /sphinx/themes/nature/static/{nature.css_t → nature.css.jinja} +0 -0
- /sphinx/themes/nonav/static/{nonav.css_t → nonav.css.jinja} +0 -0
- /sphinx/themes/pyramid/static/{epub.css_t → epub.css.jinja} +0 -0
- /sphinx/themes/pyramid/static/{pyramid.css_t → pyramid.css.jinja} +0 -0
- /sphinx/themes/scrolls/static/{scrolls.css_t → scrolls.css.jinja} +0 -0
- /sphinx/themes/sphinxdoc/static/{sphinxdoc.css_t → sphinxdoc.css.jinja} +0 -0
- /sphinx/themes/traditional/static/{traditional.css_t → traditional.css.jinja} +0 -0
- {sphinx-7.3.6.dist-info → sphinx-7.4.0.dist-info}/LICENSE.rst +0 -0
- {sphinx-7.3.6.dist-info → sphinx-7.4.0.dist-info}/WHEEL +0 -0
- {sphinx-7.3.6.dist-info → sphinx-7.4.0.dist-info}/entry_points.txt +0 -0
|
@@ -1,25 +1,51 @@
|
|
|
1
1
|
%% NOTICES AND ADMONITIONS
|
|
2
2
|
%
|
|
3
3
|
% change this info string if making any custom modification
|
|
4
|
-
\ProvidesFile{sphinxlatexadmonitions.sty}[
|
|
4
|
+
\ProvidesFile{sphinxlatexadmonitions.sty}[2024/07/01 v7.4.0 admonitions]
|
|
5
5
|
|
|
6
6
|
% Provides support for this output mark-up from Sphinx latex writer:
|
|
7
7
|
%
|
|
8
|
-
% - sphinxseealso environment added at 6.1.0
|
|
8
|
+
% - sphinxseealso environment added at 6.1.0.
|
|
9
|
+
%
|
|
10
|
+
% At 7.4.0 it too now uses sphinxheavybox, and has the same associated
|
|
11
|
+
% sphinxsetup CSS keys as admonitions do.
|
|
12
|
+
%
|
|
13
|
+
% - sphinxtodo environment added at 7.4.0.
|
|
9
14
|
%
|
|
10
15
|
% - sphinxadmonition (environment)
|
|
11
|
-
% This is a dispatch
|
|
16
|
+
% This is a dispatch which formerly configured
|
|
17
|
+
%
|
|
18
|
+
% - note, hint, important, tip to use sphinxlightbox (or optionally
|
|
19
|
+
% sphinxheavybox since 6.2.0),
|
|
20
|
+
% - warning, caution, attention, danger, error to use sphinxheavybox.
|
|
12
21
|
%
|
|
13
|
-
%
|
|
14
|
-
% (also optionally via sphinxheavybox since 6.2.0)
|
|
15
|
-
% - warning, caution, attention, danger, error (via sphinxheavybox)
|
|
22
|
+
% At 7.4.0 all admonitions use sphinxheavybox.
|
|
16
23
|
%
|
|
17
|
-
%
|
|
18
|
-
%
|
|
19
|
-
%
|
|
24
|
+
% - All environments sphinxnote, sphinxwarning, etc... can be redefined as
|
|
25
|
+
% will by user. Thay have a single parameter #1 which is the title.
|
|
26
|
+
%
|
|
27
|
+
% - The default sphinxnote, sphinxwarning, etc... use associated
|
|
28
|
+
% one-argument macros \sphinxstylenotetitle, \sphinxstylewarningtitle, etc
|
|
29
|
+
% which can be redefined. Their default is to use \sphinxdotitlerowwithicon
|
|
30
|
+
% to typeset the title in a coloured header row at top of the
|
|
31
|
+
% admonition. (new with 7.4.0)
|
|
32
|
+
%
|
|
33
|
+
% The sphinxlightbox environment is kept for backward compatiblity, for user
|
|
34
|
+
% custom code which used it via custom definitions done in preamble or via
|
|
35
|
+
% raw latex directive.
|
|
36
|
+
% MEMO: here is for example how sphinxnote was formerly defined:
|
|
37
|
+
% (where #1 is the localized string Note, followed with a colon)
|
|
38
|
+
% \newenvironment{sphinxnote}[1]
|
|
39
|
+
% {\begin{sphinxlightbox}\sphinxstrong{#1} }
|
|
40
|
+
% {\end{sphinxlightbox}}
|
|
41
|
+
% Use this if you want to revert the 7.4.0 switch to usage of sphinxheavybox.
|
|
42
|
+
% (the 7.4.0 redefined \sphinxstylenotetitle will not work in sphinxlightbox,
|
|
43
|
+
% so \sphinxstrong{#1}<space> which was its former default is used above).
|
|
44
|
+
|
|
20
45
|
%
|
|
21
46
|
% Requires:
|
|
22
47
|
\RequirePackage{sphinxpackageboxes}
|
|
48
|
+
% 7.4.0 removes unneeded \spx@boxes@border
|
|
23
49
|
\RequirePackage{framed}% used by sphinxheavybox
|
|
24
50
|
%
|
|
25
51
|
% Dependencies (they do not need to be defined at time of loading):
|
|
@@ -29,25 +55,17 @@
|
|
|
29
55
|
% - dimension register \spx@image@maxheight from sphinxlatexgraphics.sty
|
|
30
56
|
%
|
|
31
57
|
% - \savenotes/\spewnotes from sphinxpackagefootnote (for sphinxheavybox)
|
|
32
|
-
%
|
|
33
|
-
% - \sphinxstylenotetitle, ..., \sphinxstylewarningtitle, etc... which are used by
|
|
34
|
-
% default in the corresponding sphinx<notice> environments to replace at 6.2.0
|
|
35
|
-
% formerly hard-coded \sphinxstrong{#1}<space>
|
|
36
|
-
% Their definitions are in sphinxlatexstyletext.sty.
|
|
37
|
-
|
|
38
58
|
|
|
39
59
|
% Provides: (also in sphinxlatexliterals.sty)
|
|
60
|
+
% Only needed here by legacy (deprecated) sphinxlightbox environment.
|
|
40
61
|
\providecommand*\sphinxvspacefixafterfrenchlists{%
|
|
41
62
|
\ifvmode\ifdim\lastskip<\z@ \vskip\parskip\fi\else\par\fi
|
|
42
63
|
}
|
|
43
64
|
|
|
44
|
-
% Some are quite plain
|
|
45
|
-
\newenvironment{sphinxseealso}[1]{\sphinxstyleseealsotitle{#1}}{}
|
|
46
|
-
|
|
47
65
|
% This \dimen register is a legacy relic from Sphinx 1.5 which is used now
|
|
48
66
|
% only for sphinxlightbox. It is set in the sphinxadmonition environment.
|
|
49
67
|
\newdimen\spx@notice@border
|
|
50
|
-
|
|
68
|
+
% sphinxlightbox is now also a legacy relic, not used by Sphinx anymore
|
|
51
69
|
\newenvironment{sphinxlightbox}{%
|
|
52
70
|
\par
|
|
53
71
|
\noindent{\color{spx@notice@bordercolor}%
|
|
@@ -65,55 +83,28 @@
|
|
|
65
83
|
{\linewidth}{\spx@notice@border}}\hss}\allowbreak
|
|
66
84
|
}% end of sphinxlightbox environment definition
|
|
67
85
|
|
|
68
|
-
%
|
|
69
|
-
%
|
|
70
|
-
% Since 1.5 these environments are named individually to allow user to
|
|
71
|
-
% redefine them entirely.
|
|
86
|
+
% Since 1.5 these environments are named individually sphinxnote, sphinxhint,
|
|
87
|
+
% etc... to allow user to redefine them entirely.
|
|
72
88
|
%
|
|
73
|
-
% The Sphinx definitions were done like
|
|
89
|
+
% The Sphinx definitions for note/hint/important/tip notices were done like
|
|
90
|
+
% this, prior to 6.2.0:
|
|
74
91
|
%
|
|
75
92
|
% \newenvironment{sphinxhint}[1]
|
|
76
93
|
% {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}}
|
|
77
94
|
%
|
|
78
|
-
%
|
|
79
|
-
%
|
|
80
|
-
%
|
|
81
|
-
%
|
|
82
|
-
%
|
|
83
|
-
%
|
|
84
|
-
%
|
|
85
|
-
%
|
|
86
|
-
%
|
|
87
|
-
% the former \sphinxstrong{#1}<space> used a too generic \sphinxstrong. But
|
|
88
|
-
% perhaps the #1 should be passed over to sphinx{light,heavy}box as parameter.
|
|
89
|
-
% Unfortunately replacing these environments with one-parameter environments
|
|
90
|
-
% would be potentially a breaking change. Anyway, sphinxpackageboxes.sty does not
|
|
91
|
-
% provide a "titled" box; the caption of code-blocks is handled by extra
|
|
92
|
-
% code in sphinxVerbatim.
|
|
93
|
-
\newenvironment{sphinxnote}[1]
|
|
94
|
-
{\edef\spx@env{sphinx\ifspx@opt@heavynote heavy\else light\fi box}%
|
|
95
|
-
\expandafter\begin\expandafter{\spx@env}\sphinxstylenotetitle{#1}}
|
|
96
|
-
{\expandafter\end\expandafter{\spx@env}}
|
|
97
|
-
\newenvironment{sphinxhint}[1]
|
|
98
|
-
{\edef\spx@env{sphinx\ifspx@opt@heavyhint heavy\else light\fi box}%
|
|
99
|
-
\expandafter\begin\expandafter{\spx@env}\sphinxstylehinttitle{#1}}
|
|
100
|
-
{\expandafter\end\expandafter{\spx@env}}
|
|
101
|
-
\newenvironment{sphinximportant}[1]
|
|
102
|
-
{\edef\spx@env{sphinx\ifspx@opt@heavyimportant heavy\else light\fi box}%
|
|
103
|
-
\expandafter\begin\expandafter{\spx@env}\sphinxstyleimportanttitle{#1}}
|
|
104
|
-
{\expandafter\end\expandafter{\spx@env}}
|
|
105
|
-
\newenvironment{sphinxtip}[1]
|
|
106
|
-
{\edef\spx@env{sphinx\ifspx@opt@heavytip heavy\else light\fi box}%
|
|
107
|
-
\expandafter\begin\expandafter{\spx@env}\sphinxstyletiptitle{#1}}
|
|
108
|
-
{\expandafter\end\expandafter{\spx@env}}
|
|
109
|
-
|
|
110
|
-
% warning/caution/attention/danger/error get more distinction
|
|
95
|
+
% Then from 6.2.0 to 7.4.0 (exclusive) a more complex definition decided
|
|
96
|
+
% to use either sphinxlightbox or sphinxheavybox according to whether
|
|
97
|
+
% some CSS-like options had been used, for example for a background color.
|
|
98
|
+
%
|
|
99
|
+
% 6.2.0 also added one layer of mark-up via \sphinxnotetitle etc..., because
|
|
100
|
+
% the former \sphinxstrong{#1}<space> used a too generic \sphinxstrong.
|
|
101
|
+
%
|
|
102
|
+
% At 7.4.0, sphinxheavybox environment is default for all types of notices
|
|
103
|
+
% and also for the seealso and todo directives.
|
|
111
104
|
%
|
|
112
105
|
% Code adapted from framed.sty's "snugshade" environment.
|
|
113
106
|
% Nesting works (inner frames do not allow page breaks).
|
|
114
107
|
\newenvironment{sphinxheavybox}{\par
|
|
115
|
-
% 6.2.0 allows to not have to distinguish here between warning type notices
|
|
116
|
-
% which always use sphinxheavybox or note type notices which might use it.
|
|
117
108
|
% (MEMO: it is not a problem here if there is no sphinx<type>ShadowColor,
|
|
118
109
|
% as it used only if set)
|
|
119
110
|
\spx@boxes@fcolorbox@setup{\spx@noticetype}%
|
|
@@ -205,16 +196,80 @@
|
|
|
205
196
|
% Example:
|
|
206
197
|
% \renewcommand{\sphinxwarningtitle}[1]{\textbf{#1}\par\smallskip
|
|
207
198
|
% {\color{sphinxwarningBorderColor}\hrule height1pt}\smallskip}
|
|
199
|
+
%
|
|
200
|
+
% - Since 7.4.0, all types of notices use sphinxheavybox and the default
|
|
201
|
+
% for \sphinxstyle<type>title is mapped to using \sphinxdotitlerowwithicon{<type>}
|
|
202
|
+
%
|
|
203
|
+
% MEMO: except for the generic admonition directive (which uses "note" type)
|
|
204
|
+
% the argument #1 in these environments has a postfixed colon originating
|
|
205
|
+
% in Sphinx LaTeX writer legacy code. The
|
|
206
|
+
% \sphinxremovefinalcolon utility in sphinxlatexstyletext.sty can be used as
|
|
207
|
+
% \sphinxremovefinalcolon{#1} from inside the definitions of
|
|
208
|
+
% \sphinxstylenotetitle et al. commands.
|
|
209
|
+
|
|
210
|
+
% Important: even prior to 5.1.0 it was not really possible to use directly
|
|
211
|
+
% sphinxheavybox if not triggered from sphinxadmonition, because some
|
|
212
|
+
% parameters were defined in sphinxadmonition. This meant that the
|
|
213
|
+
% sphinxwarning, sphinxcaution etc... environments (defined below) could not
|
|
214
|
+
% be used directly in a document, they had to be triggered via
|
|
215
|
+
% sphinxadmonition. The sole data since 5.1.0 needed by sphinxheavybox is the
|
|
216
|
+
% type of the notice which sphinxadmonition stores into \spx@noticetype.
|
|
217
|
+
%
|
|
218
|
+
% In order to facilitate recycling or imitation of the sphinx<type>
|
|
219
|
+
% environments, 7.4.0 inserts an extra \def\spx@noticetype{<type>} in their
|
|
220
|
+
% definitions, so that they can be used independently of sphinxadmonition
|
|
221
|
+
% dispatcher.
|
|
222
|
+
%
|
|
223
|
+
% MEMO: direct usage of these environments does not execute the div.<type>_TeXextras
|
|
224
|
+
% and div.<type>_TexColor code, there are only done from the sphinxadmonition wrapper.
|
|
225
|
+
\newenvironment{sphinxnote}[1]
|
|
226
|
+
{\def\spx@noticetype{note}\begin{sphinxheavybox}\sphinxstylenotetitle{#1}}
|
|
227
|
+
{\end{sphinxheavybox}}
|
|
228
|
+
\newenvironment{sphinxhint}[1]
|
|
229
|
+
{\def\spx@noticetype{hint}\begin{sphinxheavybox}\sphinxstylehinttitle{#1}}
|
|
230
|
+
{\end{sphinxheavybox}}
|
|
231
|
+
\newenvironment{sphinxtip}[1]
|
|
232
|
+
{\def\spx@noticetype{tip}\begin{sphinxheavybox}\sphinxstyletiptitle{#1}}
|
|
233
|
+
{\end{sphinxheavybox}}
|
|
234
|
+
\newenvironment{sphinximportant}[1]
|
|
235
|
+
{\def\spx@noticetype{important}\begin{sphinxheavybox}\sphinxstyleimportanttitle{#1}}
|
|
236
|
+
{\end{sphinxheavybox}}
|
|
208
237
|
\newenvironment{sphinxwarning}[1]
|
|
209
|
-
{\begin{sphinxheavybox}\sphinxstylewarningtitle{#1}}
|
|
238
|
+
{\def\spx@noticetype{warning}\begin{sphinxheavybox}\sphinxstylewarningtitle{#1}}
|
|
239
|
+
{\end{sphinxheavybox}}
|
|
210
240
|
\newenvironment{sphinxcaution}[1]
|
|
211
|
-
{\begin{sphinxheavybox}\sphinxstylecautiontitle{#1}}
|
|
241
|
+
{\def\spx@noticetype{caution}\begin{sphinxheavybox}\sphinxstylecautiontitle{#1}}
|
|
242
|
+
{\end{sphinxheavybox}}
|
|
212
243
|
\newenvironment{sphinxattention}[1]
|
|
213
|
-
{\begin{sphinxheavybox}\sphinxstyleattentiontitle{#1}}
|
|
244
|
+
{\def\spx@noticetype{attention}\begin{sphinxheavybox}\sphinxstyleattentiontitle{#1}}
|
|
245
|
+
{\end{sphinxheavybox}}
|
|
214
246
|
\newenvironment{sphinxdanger}[1]
|
|
215
|
-
{\begin{sphinxheavybox}\sphinxstyledangertitle{#1}}
|
|
247
|
+
{\def\spx@noticetype{danger}\begin{sphinxheavybox}\sphinxstyledangertitle{#1}}
|
|
248
|
+
{\end{sphinxheavybox}}
|
|
216
249
|
\newenvironment{sphinxerror}[1]
|
|
217
|
-
{\begin{sphinxheavybox}\sphinxstyleerrortitle{#1}}
|
|
250
|
+
{\def\spx@noticetype{error}\begin{sphinxheavybox}\sphinxstyleerrortitle{#1}}
|
|
251
|
+
{\end{sphinxheavybox}}
|
|
252
|
+
% The "see also" was quite plain until 7.4.0 as it simply did
|
|
253
|
+
% \newenvironment{sphinxseealso}[1]{\sphinxstyleseealsotitle{#1}}{}
|
|
254
|
+
% Here we need to manually insert execution of div.seealso_TeX{color,extras} values
|
|
255
|
+
\newenvironment{sphinxseealso}[1]
|
|
256
|
+
{\def\spx@noticetype{seealso}%
|
|
257
|
+
\begin{sphinxheavybox}\sphinxstyleseealsotitle{#1}%
|
|
258
|
+
\ifspx@seealso@withtextcolor\color{sphinxseealsoTextColor}\fi
|
|
259
|
+
\spx@seealso@TeXextras
|
|
260
|
+
}
|
|
261
|
+
{\end{sphinxheavybox}}
|
|
262
|
+
% There was no sphinxtodo environment until 7.4.0 because sphinx.ext.todo
|
|
263
|
+
% generated \begin{sphinxadmonition}{note}{Todo:} mark-up.
|
|
264
|
+
\newcounter{sphinxtodo}% to provide targets from todolist directive output
|
|
265
|
+
\newenvironment{sphinxtodo}[1]
|
|
266
|
+
{\refstepcounter{sphinxtodo}\def\spx@noticetype{todo}%
|
|
267
|
+
\begin{sphinxheavybox}\sphinxstyletodotitle{#1}%
|
|
268
|
+
\ifspx@todo@withtextcolor\color{sphinxtodoTextColor}\fi
|
|
269
|
+
\spx@todo@TeXextras
|
|
270
|
+
}
|
|
271
|
+
{\end{sphinxheavybox}}
|
|
272
|
+
|
|
218
273
|
|
|
219
274
|
% the main dispatch for all types of notices
|
|
220
275
|
\newenvironment{sphinxadmonition}[2]{% #1=type, #2=heading
|
|
@@ -227,16 +282,104 @@
|
|
|
227
282
|
% the more bulky "sphinx\spx@noticetype BgColor".
|
|
228
283
|
\sphinxcolorlet{spx@notice@bordercolor}{sphinx#1BorderColor}%
|
|
229
284
|
\sphinxcolorlet{spx@notice@bgcolor}{sphinx#1BgColor}%
|
|
230
|
-
\spx
|
|
285
|
+
% At 7.4.0 there are no \spx@<type>@boder macros anymore only top, left,
|
|
286
|
+
% bottom, right. For this legacy \spx@notice@border only needed by
|
|
287
|
+
% sphinxlightbox (which is not used by own Sphinx environments anymore)
|
|
288
|
+
% we thus use here @top
|
|
289
|
+
\spx@notice@border \dimexpr\csname spx@#1@border@top\endcsname\relax
|
|
231
290
|
% trigger the sphinx<type> environment, #2=heading is passed as argument
|
|
232
291
|
\begin{sphinx#1}{#2}%
|
|
292
|
+
% MEMO: the heading #2 will be typeset before the next lines are executed
|
|
233
293
|
% 6.2.0 support of div.<type>_TeX{color,extras} options
|
|
234
294
|
\csname ifspx@\spx@noticetype @withtextcolor\endcsname
|
|
235
295
|
\color{sphinx\spx@noticetype TextColor}%
|
|
236
296
|
\fi
|
|
297
|
+
% Other code to be executed at start of contents (after title)
|
|
237
298
|
\csname spx@\spx@noticetype @TeXextras\endcsname
|
|
238
299
|
}
|
|
239
|
-
% workaround some LaTeX "feature" of \end command (can't use "sphinx#1" here)
|
|
300
|
+
% workaround some LaTeX "feature" of \end command (i.e. can't use "sphinx#1" here)
|
|
240
301
|
{\edef\spx@temp{\noexpand\end{sphinx\spx@noticetype}}\spx@temp}
|
|
241
302
|
|
|
303
|
+
\newcommand\sphinxtitlerowtoppadding{5pt}
|
|
304
|
+
\newcommand\sphinxtitlerowbottompadding{3pt}
|
|
305
|
+
\newcommand\sphinxtitlerowaftericonspacecmd{\hskip0.5em\relax}
|
|
306
|
+
\newcommand\sphinxdotitlerowwithicon[2]{% #1=type, #2=heading (without final colon)
|
|
307
|
+
\begingroup
|
|
308
|
+
\kern-\spx@boxes@padding@top
|
|
309
|
+
\parskip\z@skip % the \parskip business is a workaround to a vertical
|
|
310
|
+
% glue issue showing in LaTeX earlier than 2023-06-01
|
|
311
|
+
\noindent
|
|
312
|
+
\kern-\spx@boxes@padding@left % must have been configured by a prior
|
|
313
|
+
% \spx@boxes@fcolorbox@setup{<type>}
|
|
314
|
+
% inherit settings from the enclosing box and modify what is needed
|
|
315
|
+
\spx@boxes@border@top =\z@
|
|
316
|
+
\spx@boxes@border@right =\z@
|
|
317
|
+
\spx@boxes@border@bottom =\z@
|
|
318
|
+
\spx@boxes@border@left =\z@
|
|
319
|
+
\spx@boxes@radius@bottomright@x=\z@
|
|
320
|
+
\spx@boxes@radius@bottomright@y=\z@
|
|
321
|
+
\spx@boxes@radius@bottomleft@x=\z@
|
|
322
|
+
\spx@boxes@radius@bottomleft@x=\z@
|
|
323
|
+
\spx@boxes@padding@top =\sphinxtitlerowtoppadding\relax
|
|
324
|
+
\spx@boxes@padding@bottom=\sphinxtitlerowbottompadding\relax
|
|
325
|
+
\spx@boxes@withshadowfalse
|
|
326
|
+
\sphinxcolorlet{spx@boxes@backgroundcolor}{sphinx#1TtlBgColor}%
|
|
327
|
+
\spx@boxes@fcolorbox{%
|
|
328
|
+
\makebox[\linewidth][l]{%
|
|
329
|
+
\textcolor{sphinx#1TtlFgColor}{%
|
|
330
|
+
\@nameuse{sphinx#1TtlIcon}%
|
|
331
|
+
% This macro is located here and not after the closing brace
|
|
332
|
+
% for reasons of fall-back \spx@faIcon definition in sphinx.sty
|
|
333
|
+
% in case fontawesome5 package not found.
|
|
334
|
+
\sphinxtitlerowaftericonspacecmd
|
|
335
|
+
}%
|
|
336
|
+
\sphinxstrong{#2}%
|
|
337
|
+
\strut}%
|
|
338
|
+
}%
|
|
339
|
+
\kern-\spx@boxes@padding@right
|
|
340
|
+
\par
|
|
341
|
+
\endgroup
|
|
342
|
+
\vskip-\parskip
|
|
343
|
+
\kern\spx@boxes@padding@top
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
% #1 holds the localized name of the notice, postfixed with a colon.
|
|
347
|
+
% \sphinxremovefinalcolon{#1} will typeset #1 without the colon.
|
|
348
|
+
% Legacy definitions (done in sphinxlatexstyletext.sty) were all using
|
|
349
|
+
% a boring plain \sphinxstrong{#1}, now we use a coloured title row.
|
|
350
|
+
\newcommand\sphinxstylenotetitle [1]{\sphinxdotitlerowwithicon{note}{\sphinxremovefinalcolon{#1}}}
|
|
351
|
+
\newcommand\sphinxstylehinttitle [1]{\sphinxdotitlerowwithicon{hint}{\sphinxremovefinalcolon{#1}}}
|
|
352
|
+
\newcommand\sphinxstyleimportanttitle[1]{\sphinxdotitlerowwithicon{important}{\sphinxremovefinalcolon{#1}}}
|
|
353
|
+
\newcommand\sphinxstyletiptitle [1]{\sphinxdotitlerowwithicon{tip}{\sphinxremovefinalcolon{#1}}}
|
|
354
|
+
\newcommand\sphinxstylewarningtitle [1]{\sphinxdotitlerowwithicon{warning}{\sphinxremovefinalcolon{#1}}}
|
|
355
|
+
\newcommand\sphinxstylecautiontitle [1]{\sphinxdotitlerowwithicon{caution}{\sphinxremovefinalcolon{#1}}}
|
|
356
|
+
\newcommand\sphinxstyleattentiontitle[1]{\sphinxdotitlerowwithicon{attention}{\sphinxremovefinalcolon{#1}}}
|
|
357
|
+
\newcommand\sphinxstyledangertitle [1]{\sphinxdotitlerowwithicon{danger}{\sphinxremovefinalcolon{#1}}}
|
|
358
|
+
\newcommand\sphinxstyleerrortitle [1]{\sphinxdotitlerowwithicon{error}{\sphinxremovefinalcolon{#1}}}
|
|
359
|
+
\newcommand\sphinxstyleseealsotitle [1]{\sphinxdotitlerowwithicon{seealso}{\sphinxremovefinalcolon{#1}}}
|
|
360
|
+
\newcommand\sphinxstyletodotitle [1]{\sphinxdotitlerowwithicon{todo}{\sphinxremovefinalcolon{#1}}}
|
|
361
|
+
%
|
|
362
|
+
% A utility to remove a final colon. Removing last token is not easy in
|
|
363
|
+
% LaTeX, and there are additional complications:
|
|
364
|
+
% - some languages will make the : "active" in document body,
|
|
365
|
+
% - the generic admonition ends up using "note", so for \sphinxnotetitle to
|
|
366
|
+
% use it safely, the utility has to allow an input not having any final colon.
|
|
367
|
+
% - a bit far-fetched but maybe there is more than one colon inside the input
|
|
368
|
+
% (possible from a generic admonition title).
|
|
369
|
+
% Hence the scary code.
|
|
370
|
+
\newcommand\sphinxremovefinalcolon[1]{% #1 is the "active" : TeX token
|
|
371
|
+
% Prior to 7.4.0 this was defined with \protected\def but we do not
|
|
372
|
+
% see what usefulness this could have.
|
|
373
|
+
\renewcommand\sphinxremovefinalcolon[1]{%
|
|
374
|
+
% complications due to : possibly "active"
|
|
375
|
+
\begingroup\ifnum\catcode`:=\active
|
|
376
|
+
\def\x####1#1\relax{####1}%
|
|
377
|
+
\else\def\x####1:\relax{####1}\fi
|
|
378
|
+
\expandafter\endgroup\x##1\relax
|
|
379
|
+
% trick to let \x work also if input ##1 has no ending colon
|
|
380
|
+
\@gobblefour#1\relax:\relax\relax\relax
|
|
381
|
+
}%
|
|
382
|
+
}% end of wrapper to inject active :
|
|
383
|
+
\begingroup\catcode`:\active\expandafter\endgroup\sphinxremovefinalcolon:
|
|
384
|
+
|
|
242
385
|
\endinput
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
%% LITERAL BLOCKS
|
|
2
2
|
%
|
|
3
3
|
% change this info string if making any custom modification
|
|
4
|
-
\ProvidesFile{sphinxlatexliterals.sty}[
|
|
4
|
+
\ProvidesFile{sphinxlatexliterals.sty}[2024/07/01 v7.4.0 code-blocks and parsed literals]
|
|
5
5
|
|
|
6
6
|
% Provides support for this output mark-up from Sphinx latex writer:
|
|
7
7
|
%
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
% - needspace
|
|
35
35
|
% - sphinxpackageboxes
|
|
36
36
|
\RequirePackage{sphinxpackageboxes}
|
|
37
|
+
% 7.4.0 removes unneeded usage of \spx@boxes@border
|
|
37
38
|
|
|
38
39
|
% also in sphinxlatexadmonitions.sty:
|
|
39
40
|
% This is a workaround to a "feature" of French lists, when literal block
|
|
@@ -224,7 +225,6 @@
|
|
|
224
225
|
\spx@boxes@border@right\z@
|
|
225
226
|
\spx@boxes@border@bottom\z@
|
|
226
227
|
\spx@boxes@border@left\z@
|
|
227
|
-
\spx@boxes@border\z@
|
|
228
228
|
% MEMO: rounded corners still make sense in presence of a background
|
|
229
229
|
% color, so we do not force the fcolorbox@rectangle here
|
|
230
230
|
\fi
|
|
@@ -670,25 +670,18 @@
|
|
|
670
670
|
\def\sphinxVerbatim@Before
|
|
671
671
|
{\sphinxVerbatim@Title\nointerlineskip
|
|
672
672
|
\kern\dimexpr-\dp\strutbox+\sphinxbelowcaptionspace
|
|
673
|
-
%
|
|
674
|
-
%
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
% MEMO: "fcolorbox@setup" will have been done by time of use
|
|
678
|
-
\ifspx@boxes@withbackgroundcolor\else-\spx@boxes@padding@top\fi
|
|
679
|
-
\fi
|
|
673
|
+
% MEMO: prior to 7.4.0 a test was done for presence or
|
|
674
|
+
% not of a frame and if not top padding was removed if
|
|
675
|
+
% no background color. A background color is now always
|
|
676
|
+
% assumed, so this got removed.
|
|
680
677
|
% caption package adds \abovecaptionskip vspace, remove it
|
|
681
|
-
|
|
678
|
+
\spx@ifcaptionpackage{-\abovecaptionskip}{}\relax}%
|
|
682
679
|
\else
|
|
683
680
|
\vskip\sphinxverbatimsmallskipamount
|
|
684
681
|
\def\sphinxVerbatim@After
|
|
685
682
|
{\nointerlineskip\kern\dimexpr\dp\strutbox
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
% MEMO: "fcolorbox@setup" will have been done by time of use
|
|
689
|
-
\ifspx@boxes@withbackgroundcolor\else-\spx@boxes@padding@bottom\fi
|
|
690
|
-
\fi
|
|
691
|
-
\spx@ifcaptionpackage{-\abovecaptionskip}{}\relax
|
|
683
|
+
% MEMO: 7.4.0 removes here too an optional removal of bottom padding
|
|
684
|
+
\spx@ifcaptionpackage{-\abovecaptionskip}{}\relax
|
|
692
685
|
\sphinxVerbatim@Title}%
|
|
693
686
|
\fi
|
|
694
687
|
\def\@captype{literalblock}%
|
|
@@ -1,45 +1,11 @@
|
|
|
1
1
|
%% TEXT STYLING
|
|
2
2
|
%
|
|
3
3
|
% change this info string if making any custom modification
|
|
4
|
-
\ProvidesFile{sphinxlatexstyletext.sty}[
|
|
4
|
+
\ProvidesFile{sphinxlatexstyletext.sty}[2024/07/01 v7.4.0 text styling]
|
|
5
5
|
|
|
6
|
-
%
|
|
7
|
-
%
|
|
8
|
-
|
|
9
|
-
% But those arise rather from the default definitions of the respective
|
|
10
|
-
% latex environments done in sphinxlatexadmonitions.sty
|
|
11
|
-
\def\sphinxstylenotetitle #1{\sphinxstrong{#1} }
|
|
12
|
-
\let\sphinxstylehinttitle \sphinxstylenotetitle % #1 holds the localized notice name
|
|
13
|
-
\let\sphinxstyleimportanttitle\sphinxstylenotetitle % followed by a colon
|
|
14
|
-
\let\sphinxstyletiptitle \sphinxstylenotetitle
|
|
15
|
-
\let\sphinxstylewarningtitle \sphinxstylenotetitle
|
|
16
|
-
\let\sphinxstylecautiontitle \sphinxstylenotetitle
|
|
17
|
-
\let\sphinxstyleattentiontitle\sphinxstylenotetitle
|
|
18
|
-
\let\sphinxstyledangertitle \sphinxstylenotetitle
|
|
19
|
-
\let\sphinxstyleerrortitle \sphinxstylenotetitle
|
|
20
|
-
\def\sphinxstyleseealsotitle#1{\sphinxstrong{#1}\par\nopagebreak}
|
|
21
|
-
%
|
|
22
|
-
% A utility to remove a final colon. Removing last token is not easy in
|
|
23
|
-
% LaTeX, and there are additional complications:
|
|
24
|
-
% - some languages will make the : "active" in document body,
|
|
25
|
-
% - the generic admonition ends up using "note", so for \sphinxnotetitle to
|
|
26
|
-
% use it safely, the utility has to allow an input not having any final colon.
|
|
27
|
-
% - a bit far-fetched but maybe there is more than one colon inside the input
|
|
28
|
-
% (possible from a generic admonition title).
|
|
29
|
-
% Hence the scary code.
|
|
30
|
-
\def\sphinxremovefinalcolon#1{% #1 is the "active" : TeX token
|
|
31
|
-
\protected\def\sphinxremovefinalcolon ##1{%
|
|
32
|
-
% complications due to : possibly "active"
|
|
33
|
-
\begingroup\ifnum\catcode`:=\active
|
|
34
|
-
\def\x####1#1\relax{####1}%
|
|
35
|
-
\else\def\x####1:\relax{####1}\fi
|
|
36
|
-
\expandafter\endgroup\x##1\relax
|
|
37
|
-
% trick to let \x work also if input ##1 has no ending colon
|
|
38
|
-
\@gobblefour#1\relax:\relax\relax\relax
|
|
39
|
-
}%
|
|
40
|
-
}% end of wrapper to inject active :
|
|
41
|
-
\begingroup\catcode`:\active\expandafter\endgroup\sphinxremovefinalcolon:
|
|
42
|
-
% See doc/latex.rst for an example.
|
|
6
|
+
% 7.4.0 has moved all that is related to admonitions to sphinxlatexadmonitions.sty
|
|
7
|
+
% Most everything left here consists of macros which are part of the latex markup
|
|
8
|
+
% produced by the Sphinx LaTeX writer.
|
|
43
9
|
|
|
44
10
|
% Some custom font markup commands.
|
|
45
11
|
\protected\def\sphinxstrong#1{\textbf{#1}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
%% TABLES (WITH SUPPORT FOR MERGED CELLS OF GENERAL CONTENTS)
|
|
2
2
|
%
|
|
3
3
|
% change this info string if making any custom modification
|
|
4
|
-
\ProvidesFile{sphinxlatextables.sty}[
|
|
4
|
+
\ProvidesFile{sphinxlatextables.sty}[2024/07/01 v7.4.0 tables]%
|
|
5
5
|
|
|
6
6
|
% Provides support for this output mark-up from Sphinx latex writer
|
|
7
7
|
% and table templates:
|
|
@@ -42,6 +42,11 @@
|
|
|
42
42
|
% - \sphinxthistablewithnocolorrowsstyle
|
|
43
43
|
% - \sphinxthistablewithvlinesstyle
|
|
44
44
|
% - \sphinxthistablewithnovlinesstyle
|
|
45
|
+
%
|
|
46
|
+
% Also provides user command (see docs)
|
|
47
|
+
% - \sphixncolorblend
|
|
48
|
+
% (Sphinx 7.4.0 now requires xcolor, so \sphinxcolorblend does not check
|
|
49
|
+
% its availability anymore)
|
|
45
50
|
%
|
|
46
51
|
% Executes \RequirePackage for:
|
|
47
52
|
%
|
|
@@ -513,19 +518,6 @@
|
|
|
513
518
|
\fi
|
|
514
519
|
}
|
|
515
520
|
\def\sphinxcolorblend#1{\gdef\spx@colorblendparam{{#1}}\spx@table@hackCT@colorblend}
|
|
516
|
-
% Either xcolor.sty exists on user system and has been loaded by sphinx.sty,
|
|
517
|
-
% or it does not exist, so we can use \@ifpackageloaded without delaying.
|
|
518
|
-
\@ifpackageloaded{xcolor}%
|
|
519
|
-
{}%
|
|
520
|
-
{\def\sphinxcolorblend#1{%
|
|
521
|
-
\PackageWarning{sphinx}{This table uses \string\sphinxcolorblend\space
|
|
522
|
-
but xcolor is not in\MessageBreak
|
|
523
|
-
the TeX/LaTeX installation, the command will be\MessageBreak
|
|
524
|
-
ignored in this and the next tables}%
|
|
525
|
-
\global\let\sphinxcolorblend\@gobble
|
|
526
|
-
\sphinxbuildwarning{colorblend}%
|
|
527
|
-
}%
|
|
528
|
-
}
|
|
529
521
|
|
|
530
522
|
|
|
531
523
|
%%%%%%%%%%%%%%%%%%
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
%% COLOURED BOXES
|
|
2
2
|
%
|
|
3
3
|
% change this info string if making any custom modification
|
|
4
|
-
\ProvidesPackage{sphinxpackageboxes}[
|
|
4
|
+
\ProvidesPackage{sphinxpackageboxes}[2024/07/01 v7.4.0 advanced colored boxes]
|
|
5
|
+
% 7.4.0 removes usage of some booleans "...withbackgroundcolor" and
|
|
6
|
+
% "...withbordercolor" as well as \spx@boxes@border dimen which was
|
|
7
|
+
% actually really needed nowhere. This was done in sync with changes in
|
|
8
|
+
% sphinx.sty, sphinxlatexadmonitions.sty and sphinxlatexliterals.sty.
|
|
9
|
+
%
|
|
5
10
|
% Optionally executes \RequirePackage for:
|
|
6
11
|
%
|
|
7
12
|
% - pict2e. Ideally we would like to use the v0.4a 2020/08/16 release of this
|
|
@@ -78,15 +83,13 @@
|
|
|
78
83
|
%%%%%%%%%%%%%%%%
|
|
79
84
|
% Internal registers, conditionals, colors to be configured by each caller
|
|
80
85
|
% via a preliminary "setup" call
|
|
81
|
-
%
|
|
82
86
|
\newif\ifspx@boxes@withshadow
|
|
83
87
|
\newif\ifspx@boxes@insetshadow
|
|
84
|
-
\newif\ifspx@boxes@withbackgroundcolor
|
|
88
|
+
%%% \newif\ifspx@boxes@withbackgroundcolor % removed at 7.4.0
|
|
85
89
|
\newif\ifspx@boxes@withshadowcolor
|
|
86
|
-
\newif\ifspx@boxes@withbordercolor
|
|
90
|
+
%%% \newif\ifspx@boxes@withbordercolor % removed at 7.4.0
|
|
87
91
|
\newif\ifspx@boxes@shadowinbbox
|
|
88
92
|
%
|
|
89
|
-
\newdimen\spx@boxes@border
|
|
90
93
|
\newdimen\spx@boxes@border@top
|
|
91
94
|
\newdimen\spx@boxes@border@right
|
|
92
95
|
\newdimen\spx@boxes@border@bottom
|
|
@@ -150,7 +153,6 @@
|
|
|
150
153
|
\spx@boxes@border@right \dimexpr\@nameuse{spx@#1@border@right}\relax
|
|
151
154
|
\spx@boxes@border@bottom\dimexpr\@nameuse{spx@#1@border@bottom}\relax
|
|
152
155
|
\spx@boxes@border@left \dimexpr\@nameuse{spx@#1@border@left}\relax
|
|
153
|
-
\spx@boxes@border \dimexpr\@nameuse{spx@#1@border}\relax
|
|
154
156
|
%
|
|
155
157
|
\spx@boxes@padding@top \dimexpr\@nameuse{spx@#1@padding@top}\relax
|
|
156
158
|
\spx@boxes@padding@right \dimexpr\@nameuse{spx@#1@padding@right}\relax
|
|
@@ -200,19 +202,9 @@
|
|
|
200
202
|
\spx@boxes@insetshadowfalse
|
|
201
203
|
\fi
|
|
202
204
|
%
|
|
203
|
-
\@nameuse{ifspx@#1@withbordercolor}%
|
|
204
|
-
\spx@boxes@withbordercolortrue
|
|
205
205
|
\sphinxcolorlet{spx@boxes@bordercolor}{sphinx#1BorderColor}%
|
|
206
|
-
\else
|
|
207
|
-
\spx@boxes@withbordercolorfalse
|
|
208
|
-
\fi
|
|
209
206
|
%
|
|
210
|
-
\@nameuse{ifspx@#1@withbackgroundcolor}%
|
|
211
|
-
\spx@boxes@withbackgroundcolortrue
|
|
212
207
|
\sphinxcolorlet{spx@boxes@backgroundcolor}{sphinx#1BgColor}%
|
|
213
|
-
\else
|
|
214
|
-
\spx@boxes@withbackgroundcolorfalse
|
|
215
|
-
\fi
|
|
216
208
|
%
|
|
217
209
|
\@nameuse{ifspx@#1@withshadowcolor}%
|
|
218
210
|
\spx@boxes@withshadowcolortrue
|
|
@@ -447,14 +439,12 @@
|
|
|
447
439
|
\fi
|
|
448
440
|
% BACKGROUND
|
|
449
441
|
% draw background and move back to reference point
|
|
450
|
-
\ifspx@boxes@withbackgroundcolor
|
|
451
442
|
{\color{spx@boxes@backgroundcolor}%
|
|
452
443
|
\vrule\@height\ht\spx@tempboxa
|
|
453
444
|
\@depth\dp\spx@tempboxa
|
|
454
445
|
\@width\wd\spx@tempboxa
|
|
455
446
|
\kern-\wd\spx@tempboxa
|
|
456
447
|
}%
|
|
457
|
-
\fi
|
|
458
448
|
% BOX SHADOW
|
|
459
449
|
% draw shadow and move back to reference point
|
|
460
450
|
\ifspx@boxes@withshadow
|
|
@@ -494,13 +484,8 @@
|
|
|
494
484
|
}% end of \vbox
|
|
495
485
|
\fi % end of shadow drawing, and we are back to horizontal reference point
|
|
496
486
|
% BOX BORDER
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
\else
|
|
500
|
-
% 6.2.0: guard against a \color command in contents whose effect
|
|
501
|
-
% could leak to border at a pagebreak
|
|
502
|
-
\normalcolor
|
|
503
|
-
\fi
|
|
487
|
+
% 7.4.0 requires a set border color
|
|
488
|
+
\vbox{\color{spx@boxes@bordercolor}%
|
|
504
489
|
\hrule\@height\spx@boxes@border@top
|
|
505
490
|
\kern-\spx@boxes@border@top
|
|
506
491
|
\setbox\spx@tempboxb\hb@xt@\wd\spx@tempboxa
|
|
@@ -540,14 +525,13 @@
|
|
|
540
525
|
\def\spx@boxes@fcolorbox@insetshadow{%
|
|
541
526
|
% BACKGROUND
|
|
542
527
|
% draw background and move back to reference point
|
|
543
|
-
|
|
528
|
+
% 7.4.0 always assumes a background color
|
|
544
529
|
{\color{spx@boxes@backgroundcolor}%
|
|
545
530
|
\vrule\@height\ht\spx@tempboxa
|
|
546
531
|
\@depth\dp\spx@tempboxa
|
|
547
532
|
\@width\wd\spx@tempboxa
|
|
548
533
|
\kern-\wd\spx@tempboxa
|
|
549
534
|
}%
|
|
550
|
-
\fi
|
|
551
535
|
% BOX SHADOW
|
|
552
536
|
% draw shadow and move back to reference point
|
|
553
537
|
\ifspx@boxes@withshadow
|
|
@@ -589,13 +573,8 @@
|
|
|
589
573
|
}% end of \hbox, attention its depth is only |yoffset| if yoffset<0
|
|
590
574
|
\fi % end of inset shadow drawing, and we are back to horizontal reference point
|
|
591
575
|
% BOX BORDER
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
\else
|
|
595
|
-
% 6.2.0: guard against a \color command in contents whose effect
|
|
596
|
-
% could leak to border at a pagebreak
|
|
597
|
-
\normalcolor
|
|
598
|
-
\fi
|
|
576
|
+
% 7.4.0 requires a set border color
|
|
577
|
+
\vbox{\color{spx@boxes@bordercolor}%
|
|
599
578
|
\hrule\@height\spx@boxes@border@top
|
|
600
579
|
\kern-\spx@boxes@border@top
|
|
601
580
|
\setbox\spx@tempboxb\hb@xt@\wd\spx@tempboxa
|
|
@@ -807,17 +786,11 @@
|
|
|
807
786
|
\fi
|
|
808
787
|
\spx@boxes@border@defpath% must be redone after each \fillpath! (even if
|
|
809
788
|
% was in a \put)
|
|
810
|
-
|
|
789
|
+
% 7.4.0 requires a set border color
|
|
811
790
|
\color{spx@boxes@bordercolor}%
|
|
812
|
-
\else
|
|
813
|
-
\normalcolor
|
|
814
|
-
\fi
|
|
815
791
|
\fillpath
|
|
816
|
-
|
|
792
|
+
% and backgroundcolor command
|
|
817
793
|
\color{spx@boxes@backgroundcolor}%
|
|
818
|
-
\else
|
|
819
|
-
\color{white}%
|
|
820
|
-
\fi
|
|
821
794
|
\edef\spx@width{\number\dimexpr\spx@width-\spx@boxes@border@left
|
|
822
795
|
-\spx@boxes@border@right sp}%
|
|
823
796
|
\edef\spx@height{\number\dimexpr\spx@height-\spx@boxes@border@top
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
\NeedsTeXFormat{LaTeX2e}
|
|
2
2
|
\ProvidesPackage{sphinxpackagefootnote}%
|
|
3
|
-
[
|
|
3
|
+
[2024/05/17 v7.3.x Sphinx custom footnotehyper package (Sphinx team)]
|
|
4
4
|
%%
|
|
5
5
|
%% Package: sphinxpackagefootnote
|
|
6
6
|
%% Version: based on footnotehyper.sty 2021/02/04 v1.1d
|
|
@@ -409,9 +409,10 @@
|
|
|
409
409
|
{\gdef\@thefnmark{?}% on first LaTeX run
|
|
410
410
|
\refstepcounter{sphinxfootnotemark}\label{footnotemark.\thesphinxfootnotemark}%
|
|
411
411
|
}%
|
|
412
|
-
{\
|
|
413
|
-
\def\@makefnmark{% will be used by \H@@footnotemark
|
|
412
|
+
{\def\@makefnmark{% will be used by \H@@footnotemark
|
|
414
413
|
\refstepcounter{sphinxfootnotemark}\label{footnotemark.\thesphinxfootnotemark}%
|
|
414
|
+
\sphinx@xdef@thefnmark{#1}% also defines \spx@footrefHref
|
|
415
|
+
% must be executed after \refstepcounter
|
|
415
416
|
\hyper@linkstart{link}{\spx@footrefHref}%
|
|
416
417
|
\spx@saved@makefnmark
|
|
417
418
|
\hyper@linkend
|